我有一项使用 nginx 作为前端服务器的服务。一些机器人不断地暴力破解 /login 页面,这足以降低我的服务器生产力。
我想要做的是计算登录失败的数量(在 PHP 中),然后更新 IP 黑名单,然后使用此列表通过 IP 禁止客户端仅访问 /login 页面。(这是为了避免偶尔禁止“好”爬虫,即使在登录页面被“禁止”也可以读取网站的其他页面)。
如何从 IP 的动态列表中实现 nginx 禁令?
我有一项使用 nginx 作为前端服务器的服务。一些机器人不断地暴力破解 /login 页面,这足以降低我的服务器生产力。
我想要做的是计算登录失败的数量(在 PHP 中),然后更新 IP 黑名单,然后使用此列表通过 IP 禁止客户端仅访问 /login 页面。(这是为了避免偶尔禁止“好”爬虫,即使在登录页面被“禁止”也可以读取网站的其他页面)。
如何从 IP 的动态列表中实现 nginx 禁令?
你想做的基本上是Fail2ban。
https://www.fail2ban.org/
在您的 PHP 脚本中,您可以记录登录尝试,然后使用 Fail2ban 对其进行解析和操作。