最近发现有人疯狂扫描Wordpress的xmlrpc.php文件及wp-login.php文件,大概是想爆破后台密码或者想撞库获取密码吧。今天,古哥给大家带来Apache通过.htaccess文件,简单几行代码就实现禁止访问xmlrpc.php文件及wp-login.php文件,并返回403的简单方法。
起因
每天,我都会看网站日志文件。然后,凌晨一点自动清理网站日志。可以通过以下命令完成日志的定时清理任务:
crontab -e
输入i进入编辑模式,插入如下代码。完成后,摁下esc退出编辑模式,再摁下:wq退出并报错
* 1 * * * echo > /data/wwwlog/xiaosiseo.com/access.log * 1 * * * echo > /data/wwwlog/xiaosiseo.com/error.log * 1 * * * echo > /data/wwwlog/xiaosiseo.com/ssl_access.log * 1 * * * echo > /data/wwwlog/xiaosiseo.com/ssl_error.log
以上即可,每天定时一点清理日志文件(注意修改日志文件目录)
然后,我刚才发现有人在恶意扫描wp-login.php文件,查询恶意扫描ip,提示有撞库风险:撞库即用其他网站的数据库里的账号密码来登录你的网站,就叫撞库。所以,一般建议不同网站用不同密码,也是这个道理。当然,Wordpress除了/wp-login.php可以恶意登录,还有xmlrpc.php文件(用于发送pinback,即当你文章引用别人网站文章时,会自动给对方发送一条pinback,告诉对方你引用了;反之,亦然)可以恶意登录。
.htaccess文件
我们只需要在.htaccess文件中,加入如下代码即可完成禁止访问wp-login.php及xmlrpc.php文件,并返回403拒绝访问代码:
# protect xmlrpc <Files xmlrpc.php> Order Deny,Allow Deny from all </Files> # protect wp-login <Files wp-login.php> Order Deny,Allow Deny from all </Files>
修改完,无需重启,立即生效。
白名单的设置
当然,如果你自己也在用wp-login.php登录自己网站的后台,很显然,这么做是不合理的。那么你可以加入登录白名单的ip即可,代码如下:
# protect xmlrpc <Files xmlrpc.php> Order Deny,Allow Deny from all </Files> # protect wp-login <Files wp-login.php> Order Deny,Allow Allow from 192.16.1.1(这里改成自己的ip即可) Deny from all </Files>
如果你的网站有前台登录的方法,那么直接禁止访问wp-login.php是没有任何问题的,比如本站的登录跟注册,都与wp-login.php文件无关,所以直接禁用就可以了。
也就是说,如果你平时登录网站并不是通过WP的默认登录页面去登录后台,直接禁止访问wp-login.php,是没有任何问题的。而且也不影响你用户平时登录你的网站。当然,最好加个验证码,更加安全。
暂无评论内容