我看到很多请求,用户试图请求我的网络服务器上的 PhPMyAdmin 目录,我想结束这种情况。他们尝试了几个不同的目录,例如 PhpMyAdmin-2.10 或只是 PhpMyAdmin 或只是 PhpMyAdmin-2.09
Apache 重写规则是否是将它们重定向到黑洞以禁止其 IP 再次访问 IP 的最佳方法?
或者
我可以简单地创建这些目录并放入一个 javascript 重定向来将它们也纳入黑洞。
对于好的解决办法的想法我们表示赞赏。
编辑:这是我在 .htaccess 中所做的
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/phpmyadmin [NC,OR]
RewriteCond %{REQUEST_URI} ^/admin [NC,OR]
RewriteCond %{REQUEST_URI} ^/dbadmin [NC,OR]
RewriteCond %{REQUEST_URI} ^/mail [NC,OR]
RewriteCond %{REQUEST_URI} ^/myadmin [NC,OR]
RewriteCond %{REQUEST_URI} ^/mysql [NC,OR]
RewriteCond %{REQUEST_URI} ^/php\-my\-admin [NC,OR]
RewriteCond %{REQUEST_URI} ^/pma [NC,OR]
RewriteCond %{REQUEST_URI} ^/webmail [NC]
RewriteRule .* http://%{REMOTE_ADDR}%{REQUEST_URI} [R=301]
答案1
你可能会浪费他们的时间 - 这可能比禁止他们的 IP 更能阻止他们扫描整个互联网:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} ^/phpmyadmin [NC]
RewriteRule .* http://%{REMOTE_ADDR}%{REQUEST_URI} [R=301]
更新:要添加目录或文件,您可以添加其他条件(注意不要阻止搜索蜘蛛等)...
更新x2:添加了L
ast 和Q
uery S
tring A
ppend 标志,并评论了附加规则的理想位置。
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} ^/phpmyadmin [NC,OR]
RewriteCond %{REQUEST_URI} ^/admin [NC,OR]
RewriteCond %{REQUEST_URI} ^/dbadmin [NC,OR]
RewriteCond %{REQUEST_URI} ^/mail [NC,OR]
RewriteCond %{REQUEST_URI} ^/myadmin [NC,OR]
RewriteCond %{REQUEST_URI} ^/mysql [NC,OR]
RewriteCond %{REQUEST_URI} ^/php\-my\-admin [NC,OR]
RewriteCond %{REQUEST_URI} ^/pma [NC,OR]
RewriteCond %{REQUEST_URI} ^/webmail [NC]
RewriteRule .* http://%{REMOTE_ADDR}%{REQUEST_URI} [L,R=301,QSA]
#
# any other rewrite conditions and rules here
#
答案2
我的研究让我找到了 ModSecurity 或 fail2ban。
还有这个问题: 如何阻止 PHPMyAdmin 攻击?