例如,我想阻止从89.95(89.95 ..)开始的每个IP。
我的服务器上没有.htaccess文件,因此必须使用PHP来完成。

if ($_SERVER['REMOTE_ADDR'] == "89.95.25.37") die();
将阻止特定的IP。如何阻止整个IP块?

最佳答案

试试strpos()

if(strpos($_SERVER['REMOTE_ADDR'], "89.95") === 0)
{
    die();
}

如果您注意到了,===运算符确保89.95在IP地址的开头处。这意味着您可以根据需要分隔尽可能多的IP地址,并且无论后面紧跟什么数字,它都会阻止。

例如,所有这些都将被阻止:

89.95-> 89.95.12.3489.95.1234.189.95.1.189.95.6-> 89.95.65.3489.95.61.189.95.6987
(尽管其中一些不是有效的IP地址)

关于php - 使用PHP阻止来自我网站的特定IP阻止,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2869893/

10-12 12:29