Php 禁止坏演员的最好办法是什么?

Php 禁止坏演员的最好办法是什么?,php,nginx,iptables,Php,Nginx,Iptables,我有一个PHP应用程序遇到了两种类型的坏角色: 扫描漏洞(SQL注入、XSS或试图请求不存在的URL,如/phpmyadmin或/webmail等)的人 评论垃圾邮件发送者 堆栈是Ubuntu 12.04+nginx+PHP(FPM) 我想做的是建立一个流程,当检测到滥用模式时,通过删除IP地址来禁止这些不良行为者。我该怎么做 模式的一些示例如下: 1分钟内超过2条评论(由nginx或PHP检测) 10分钟内有2条以上的评论,每条评论中都有URL。(由nginx或PHP检测) 向phpmyadm

我有一个PHP应用程序遇到了两种类型的坏角色:

  • 扫描漏洞(SQL注入、XSS或试图请求不存在的URL,如/phpmyadmin或/webmail等)的人
  • 评论垃圾邮件发送者
  • 堆栈是Ubuntu 12.04+nginx+PHP(FPM)

    我想做的是建立一个流程,当检测到滥用模式时,通过删除IP地址来禁止这些不良行为者。我该怎么做

    模式的一些示例如下:

  • 1分钟内超过2条评论(由nginx或PHP检测)
  • 10分钟内有2条以上的评论,每条评论中都有URL。(由nginx或PHP检测)
  • 向phpmyadmin发出的请求(需要由nginx检测)
  • 传递给搜索/注释系统的奇怪参数。e、 g.\'或1=1'--(我很想得到这样一个常见SQL注入模式的列表)
  • 所以问题是——如何在nginx/PHP中检测这些模式,以及如何设置一个进程来禁止这些参与者的IP地址

    PS-老实说,我不确定如何最好地标记这个问题,所以请根据需要重新标记