关于wp-admin目录的安全性问题,一直有人提出。WordPress在安装时候默认用户名为“admin”,而且管理目录永远都是wp- admin,所以对于黑客来说,他省了两个步骤来搞定一个WordPress博客。虽然这样新闻很少听到。但防患于未然总不是坏事。
下面来说说如何更改wp-admin目录名:
修改wp-admin目录,将其换成其他名字,比如“bssn-org” (下面就以这个目录名为例说一下)。
首先修改WordPress目录下的.htaccess文件,增加:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} wp-admin/
RewriteCond %{QUERY_STRING} !这里来个复杂字符串(数字英文横杠下划线组成)
RewriteRule .*\.php [F,L]
RewriteCond %{QUERY_STRING} !与上面的那个密码相同
RewriteRule ^bssn-org/(.*) wp-admin/$1?%{QUERY_STRING}&与上面的那个密码相同 [L]
这个.htaccess实现禁止访问wp-admin下的所有.php文件,访问bssn.org/bssn-org 的话会直接替换成bssn.org/wp-admin下的对应文件。也就是说访问bssn.org/bssn-org与访问wp-admin的结果是一样的,但是访问wp-admin则行不通。
这里,也就是完成了wp-admin目录的更名。步骤也比较简单,只需要修改根目录下的.htaccess就可以了。
但是如果你死活想访问wp-admin的话,这样来:http://youblogurl/wp-admin?你设置的那个密码
假如你的密码是123,那么http://youblogurl/wp-admin?123 你便可以访问wp-admin目录
更名完成,但是会有一些问题需要修改部分文件。因为wp-admin被禁止访问,而部分功能还直接调用wp-admin的.php文件。这导致上传功能将不能使用;自动保存,自定义字段都变成半残废。
需要修改的文件:
wp-admin/includes/media.php
wp-includes/script-loader.php
将两个文件中的wp-admin全部替换为bssn-org
。
另外需要修改wp-includes/link-template.php的第470行与500行,将wp-admin换成bssn-org
,这样edit链接与comments编辑链接将继续有效。
十分重要的提醒 :
这样就基本完工了。修改一个.htaccess和三个文件。如果哪位战友乐意做个插件出来也不错:)