A question asked privately:
How can I validate a user-submitted IP address ?
One approach is to offload the validation burden to the ip2long() function:
function isValidIPAddress ($ip) { $long = ip2long($ip); if (($long == FALSE) or ($long == -1)) { return false; } else { return true; } }
The problem with this approach is that ip2long() will consider an incomplete IP address (such as 192.168.0) to be valid. If this is not acceptable, there’s an alternative:
function isValidIPAddress ($ip) { $segments = explode('.', $ip); if (count($segments) <> 4) { return false; } foreach ($segments as $segment) { if (!is_numeric($segment) or ($segment < 0) or ($segment > 255)) { return false; } } return true; }
* * * * *