最近发现很多朋友的网站被CC攻击(或者说是被刷),表现为大量IP请求wp-login.php页面。
要解决这个问题,我建议使用下面的方法来保护。
将以下内容保存到.htaccess
中
<Files wp-login.php> AuthGroupFile /dev/null AuthType Basic AuthUserFile /home/username/.htpasswd AuthName "admin" require valid-user </Files>
该内容的意思是保护wp-login.php
页面,要求必须输入密码才可以访问。
.htpasswd
文件生成网址 http://www.htaccesstools.com/htpasswd-generator/
生成后将内容保存为名为.htpasswd
的文件,并上传到用户根目录(非网站根目录),即链接FTP后展示的第一个目录。
修改 .htaccess
文件
AuthName "admin"
中的admin
修改为你刚才在.htpasswd
中设置的用户名 ;
AuthUserFile /home/username/.htpasswd
中的username
修改为自己的FTP用户名。
然后打开 网址/wp-login.php
测试一下。
简单说
.htpasswd
传到 /
目录
.htaccess
传到/domains/yourname.com/public_html
目录(如果已经存在该文件,把内容复制进去就可以了。)
update: .htaccess/.htpasswd 文件生成工具以及DA面板使用教程 /post/2013-08-22-htpasswd/
update: 2013-08-25
这两日发现了两例有问题的案例,表现为,加入代码之后,wp-login.php页面会死循环。
暂时没有找到解决方案,那么只能先使用另外一个办法了,简单粗暴。
把wp-login.php重命名为 login.php或者其他名字均可。
然后再新建立一个wp-login.php,内容可以不写东西,也可以乱打几个字,这样就是纯静态的,即使再次被刷,也没什么压力。可以使用 yourname.com/新名字.php登入后台。