我想保护我的服务器免受过多机器人的攻击。
考虑这样一种情况,在私有网络中的服务器(物理)不断访问我的服务器。我是否有一种机制来识别访问背后的服务器(例如通过浏览器 ID,如果有的话),并尝试限制访问?
每当一台机器/服务器从网站请求数据时,IP 和 MAC 地址在通过路由器/负载平衡器时会被覆盖。理想情况下,机器人设计人员会确保他们的机器人位于负载平衡器后面,但必须有一种方法可以找到物理服务器地址或其 MAC 地址,这样我就可以限制允许的点击次数。
或者,“我是否应该扩大服务器规模并允许尽可能多的交易”是唯一/理想的选择,而不是试图限制点击量?考虑到实现这种算法的复杂性。
答案1
安装 fail2ban,配置机器人监狱。很简单。
答案2
如果防火墙是您无法看到地址的原因,则需要处理防火墙才能获取该信息。可能来自日志。
我处理过非常繁忙的公共服务器。我首先关心以下几点:
- 确保您的服务器可以处理它(因为这总是会发生)
- 确保您的代码可以处理它(高效/优化/智能)
- 暂时封锁违规 IP
如果这不起作用,就发挥更多的创造力。