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

From: Date: Wed, 18 Aug 2010 06:46:21 +0000
Subject: How verify whether browser arrived via IPv6, IPv4, domain or number
Groups: php.general 
Request: Send a blank email to php-general+get-307515@lists.php.net to get a copy of this message
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? Also what is the best way in php to check if an address is IPv4 or IPv6? Some people scan for ":" or ".", others use filter_var(), but these both seem clunky to me. Can anyone think of a better way? Thanks, Leith Bade leith@leithalweapon.geek.nz

« previous php.general (#307515) next »