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

From: Date: Wed, 18 Aug 2010 07:18:36 +0000
Subject: Re: How verify whether browser arrived via IPv6, IPv4, domain or number
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-307516@lists.php.net to get a copy of this message
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)

« previous php.general (#307516) next »