1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-04 13:47:31 +02:00

Should fix PHP warning

This commit is contained in:
Cameron
2013-05-30 17:35:32 -07:00
parent f5fc29577e
commit 8a2e556bd2

View File

@@ -251,6 +251,26 @@ class eIPHandler
*/ */
public function isAddressRoutable($ip) public function isAddressRoutable($ip)
{ {
$ignore = array(
'0\..*#' , '#^127\..*' , // Local loopbacks
'192\.168\..*' , // RFC1918 - Private Network
'172\.(?:1[6789]|2\d|3[01])\..*' , // RFC1918 - Private network
'10\..*' , // RFC1918 - Private Network
'169\.254\..*' , // RFC3330 - Link-local, auto-DHCP
'2(?:2[456789]|[345][0-9])\..*' // Single check for Class D and Class E
);
$pattern = '#^('.implode('|',$ignore).')#';
if(preg_match($pattern,$ip))
{
return false;
}
/* XXX preg_match doesn't accept arrays.
if (preg_match(array( if (preg_match(array(
'#^0\..*#' , '#^127\..*#' , // Local loopbacks '#^0\..*#' , '#^127\..*#' , // Local loopbacks
'#^192\.168\..*#' , // RFC1918 - Private Network '#^192\.168\..*#' , // RFC1918 - Private Network
@@ -262,6 +282,8 @@ class eIPHandler
{ {
return FALSE; return FALSE;
} }
*/
if (strpos(':', $ip) === FALSE) return TRUE; if (strpos(':', $ip) === FALSE) return TRUE;
// Must be an IPV6 address here // Must be an IPV6 address here
// @todo need to handle IPV4 addresses in IPV6 format // @todo need to handle IPV4 addresses in IPV6 format