This will also work for IPv4:
Code:
// Checks for valid IP Address since some proxies will send invalid user
// agent strings.
//
// usage: if (!isValidIPv4($ipaddress))
function isValidIPv4($addr) {
$octs = explode('.',$addr);
if (count($octs) != 4) return false;
foreach ($octs as $oct) {
if (!ctype_digit($oct)) return false;
$oct = intval($oct);
if ($oct < 0 || $oct > 255) return false;
}
return true;
}