Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否可以停止来自特定ip的自动请求_Php_Security - Fatal编程技术网

Php 是否可以停止来自特定ip的自动请求

Php 是否可以停止来自特定ip的自动请求,php,security,Php,Security,我收到来自某些IP的自动请求。我已阻止该IP,现在它来自其他IP 是否可以检测自动请求并以编程方式阻止IP?尝试阻止IP子网。另外,您可以使用CAPTCHA来防止自动请求。虽然我认为最好使用防火墙来处理此问题,但您可以使用sleep()在脚本执行过程中插入时间。少于100毫秒的数量不会对用户产生影响,但会严重降低自动攻击的有效性。同样,我会使用适当的防火墙规则对其进行攻击,但同时这可能是一种有效的攻击。您可以做的一件事是跟踪最近X位访客(100/1000/10K等)的IP并包括时间戳。如果在给定

我收到来自某些IP的自动请求。我已阻止该IP,现在它来自其他IP


是否可以检测自动请求并以编程方式阻止IP?

尝试阻止IP子网。另外,您可以使用CAPTCHA来防止自动请求。

虽然我认为最好使用防火墙来处理此问题,但您可以使用
sleep()
在脚本执行过程中插入时间。少于100毫秒的数量不会对用户产生影响,但会严重降低自动攻击的有效性。同样,我会使用适当的防火墙规则对其进行攻击,但同时这可能是一种有效的攻击。

您可以做的一件事是跟踪最近X位访客(100/1000/10K等)的IP并包括时间戳。如果在给定的时间范围内有太多操作,您可以禁用或中断页面的功能

要做到这一切

1) 您需要在执行检查的每一页中包含一个php文件,以查看请求者IP是否被“禁止”。只需建立您的标准,并让它从数据库中提取信息。如果要“阻止”或“禁止”,只需使用header()(或类似)来拒绝访问

2) 要捕获IP,您需要使用$\u SERVER['REMOTE\u ADDR']获取当前客户端的IP地址


您可能还希望在网络层使用好的旧iptable处理它们。更多信息:


这在服务器出现故障时更合适。看看有没有好的开始,没错。这就是我提到验证码的原因。而且,别忘了,有时候封锁一个子网是保护其他用户的好方法。验证码不仅会打击同一个子网用户,还会打击网站的每一位用户。我只给出了这个想法,文章的作者必须考虑如何采取行动。关于验证码,-如果同一IP发出太多或类似的请求,请使用它。。。而且,没有普遍的答案!