首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过php中的ip2long阻止特定的Ip范围

如何通过php中的ip2long阻止特定的Ip范围
EN

Stack Overflow用户
提问于 2019-05-04 19:24:31
回答 1查看 27关注 0票数 0

假设我有以下IP范围,希望阻止89.96.53.158和89.96.53.189

这就是我想要实现的。

我的问题:按照下面的代码,这是最好的方法吗?下面是它的编码吗?

代码语言:javascript
复制
$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.189


if ($ip >= $start_ip && $ip <=  $end_ip) {
   echo "you cannot access our site";
   exit();
}

我还可以使用strpos()函数实现这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-04 21:04:15

是的,我想出了用strpos()方法做这件事的另一种方法

代码语言:javascript
复制
if(strpos($_SERVER['REMOTE_ADDR'], "89.96") === 0)
{
    echo "you cannot access our site";
   exit();
}

如果您注意到,===运算符确保89.96位于IP地址的开头。这意味着您可以根据需要指定任意数量的IP地址,并且不管后面出现什么数字,它都会被阻塞。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55986065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档