假设我具有要阻止89.96.53.158和89.96.53.189的以下IP范围这是如何尝试实现它。我的问题是:按照下面的代码,这是最好的方法吗?下面的代码是否适合它$ip = sprintf('%u', ip2long($_SERVER['REMOTE_ADDR']));$start_ip = sprintf('%u', ip2long("89.96.53.158"));$end_ip = sprintf('%u', ip2long("89.96.53.189"));// stop only ip range between 89.96.53.158 - 89.96.53.189if ($ip >= $start_ip && $ip <= $end_ip) { echo "you cannot access our site"; exit();}我也可以使用strpos()功能来实现吗
1 回答
慕仙森
TA贡献1827条经验 获得超8个赞
是的,我想出了另一种使用strpos()方法的方法
if(strpos($_SERVER['REMOTE_ADDR'], "89.96") === 0)
{
echo "you cannot access our site";
exit();
}
如果您注意到,===操作员将确保89.96位于IP地址的开头。这意味着您可以指定任意数量的IP地址,并且无论后面输入什么数字,该地址都会被阻止。
- 1 回答
- 0 关注
- 126 浏览
添加回答
举报
0/150
提交
取消