function ip_address_to_number($IPaddress) {
if(!$IPaddress) {
return false;
} else {
$ips = split('\.',$IPaddress);
return($ips[3] + $ips[2]*256 + $ips[1]*65536 + $ips[0]*16777216);
}
}
Run Code Online (Sandbox Code Playgroud)
该函数执行与php捆绑函数ip2long相同的代码.但是,当我打印这2个值时,我得到2个不同的回报.为什么?(我在wamp环境中使用php 5.2.10).
ip2long('200.117.248.17'); //returns **-931792879**
ip_address_to_number('200.117.248.17'); // returns **3363174417**
Run Code Online (Sandbox Code Playgroud)
应用并继续在这里: 根据我的IP显示我的国家,mysql优化
我正在尝试在我的页面中添加几行以重定向与特定 IP 地址集不匹配的用户。
这里是:
$whitelist = array('111.111.111.111', '112.112.112.112');
if (!(in_array($_SERVER['REMOTE_ADDR'], $whitelist))) {
header('Location: http://asdf.com');
}
Run Code Online (Sandbox Code Playgroud)
当知道完整地址时它工作正常,但我如何利用通配符并在 IP 范围内工作?
我的任务是检查给定的IP地址是否在IP地址范围之间.例如,IP地址10.0.0.10是否在10.0.0.1和10.0.0.255范围内.我正在寻找一些东西,但我无法找到适合这种确切需求的东西.
所以我写了一些简单的东西,它符合我的目的.到目前为止,它运作良好.