Re: How verify whether browser arrived via IPv6, IPv4, domain or number

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Leith Bade wrote:

> I want to take $_SERVER['SERVER_NAME'] and figure out whether the user
> arrived by typing an IPv6-only, IPv4-only or dual IPv4/IPv6 DNS
> address.
> 
> It should also handle the case where the user enters a numeric address
> in one of the formats the sockets inet_addr() function can handle.
> Such as IPv4/IPv6 dotted decimal, octal, hex, DWORD, etc.
> 
> So far I have thought up this:
> 
>    1. Use gethostbyname($_SERVER['SERVER_NAME']) to get an address
>    2. Check this address to see if it is IPv4/IPv6
> 
> Will this always work?

gethostbyname() does not return any IPv6 addresses.  You need
getaddrinfo(), but that is AFAIK not yet implemented for php.

> Also what is the best way in php to check if an address is IPv4 or
> IPv6?

preg_match() ?



-- 
Per Jessen, Zürich (16.2°C)


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux