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

时间:2010-03-21 05:46:30

标签: php security

我从某些ips收到自动请求,我已经阻止了IP来自其他IP。

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

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您可以做的一件事是跟踪最后X个访问者的IP(100/1000 / 10K等)并包含时间戳。如果在给定的时间范围内有太多动作,您可以禁用或停止页面的功能。

要做到这一切......

1)您需要在您身边的每个页面中包含一个php文件,以执行检查以查看请求者IP是否未被“禁止”。只需构建您的标准,并从数据库中提取信息。如果要“阻止”或“禁止”,只需使用header()(或类似)拒绝访问。 http://php.net/manual/en/function.header.php

2)要捕获IP,您需要使用$ _SERVER ['REMOTE_ADDR']来获取当前客户端的IP地址。

http://php.net/manual/en/reserved.variables.server.php

答案 3 :(得分:0)

您可能还想使用旧的iptables在网络层处理它们。更多信息:

http://www.cyberciti.biz/faq/iptables-connection-limits-howto/