我想阻止这些类型的请求到我的网站。最好的方法是怎样做的?到目前为止,我列出了我的尝试和我的想法。
我不需要任何代码只是指向正确的方向。
我想根据速度使用最好的方法,我也不想阻止真正的人?
该网站使用:
- PHP
- Symfony2
- Apache
- Ubuntu
我可以在PHP中轻松完成这两项工作,但认为使用Apache / Ubuntu等可能会更好。
(1)阻止某些IP地址。这只会是显然做一些狡猾的事情。例如。如果我已经证明所有这些IP地址都是狡猾的,那么来自中国的一系列IP地址。
我目前记录每位访客的IP。我稍后手动查看这些数据,如果我确定需要阻止的IP(或范围),我会采取手动操作。
(2)阻止任何人使用服务器IP地址(例如123.55.44.222)而不是实际的“domain.com”域名访问我的网站。我想这样做是因为它弄乱了网站(毫无疑问,这可以通过更改我的代码来解决,但是没有人输入IP因此更容易做到这一点。)
有了这个,我想要一段代码来检测他们是否正在使用IP并立即阻止它们(可能会返回403错误)
感谢。
答案 0 :(得分:3)
阻止它们进入防火墙。
修复您的网站,以便在通过IP访问时不会被破坏,或者更改apache的配置,使其不作为默认网站。
除此之外,痴迷地阅读你的日志并试图阻止“人们做坏事”会让你[进一步]陷入疯狂,而且通常毫无意义。你将减少剩余的空闲时间和理智,用僵尸网络,代理和脚本小子玩whackamole。
修复您的代码。通过消除他们这样做的能力来解决人们正在做这些“坏事”的事实。
答案 1 :(得分:1)
Spamhaus 已经维护blacklist of IP addresses并每天更新。您可以使用this script每天自动获取新列表并更新防火墙以阻止IP地址。
如果您希望维护自己的黑名单,只需替换脚本中与Spamhaus提取有关的逻辑。
对于问题的第二部分,您可以执行其中一项