This is bssn’s weblog, which is about Bssn’s Internet Life, IT information, webmaters and etc.

让你的WordPress更安全(更改wp-admin目录名)

关于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编辑链接将继续有效。

十分重要的提醒

  1. 如果你使用的类似wp-cache等缓存插件,一定要将你的新目录名添加到缓存过滤规则里,不然后台有的地方生成静态将是件很麻烦的事情。
  2. 注意如果升级或者更改了以上的三个文件中的任何一个都需要重新修改,着实麻烦一点但是为了安全,辛苦一点了
  3. 这样就基本完工了。修改一个.htaccess和三个文件。如果哪位战友乐意做个插件出来也不错:)

    相关日志

27 Responses to “让你的WordPress更安全(更改wp-admin目录名)”

  1. Mao said:

    这个方法不错!!!可惜win主机不主持..哈哈

    回复

    Bssn Reply:

    你的猫不是支持伪静态的吗?

    回复

  2. 雀巢 said:

    太有才了

    回复

  3. Bssn said:

    @雀巢: 哈哈,快换吧。

    回复

    雀巢 Reply:

    还是不换了,wp升级太频繁了

    回复

  4. tanyuxiang said:

    这么快就解决问题了啊 这个方法不错 不过我不想换wp-admin目录 等待小白鼠出现 : )

    ps:顺便交换下友链吧
    怒风的Blog http://nufeng.cn
    你的我已加好

    回复

    Bssn Reply:

    我就是那个小白鼠 :(
    p.s. 我给你的这个回复你能收到邮件吗?

    回复

    Mao Reply:

    你给我的回复.我能收到邮件….
    我的猫是支持啊..不过我不改了…最多就是给wp-admin目录加个密码就好了.

    回复

    tanyuxiang Reply:

    能收到邮件 : )

    回复

  5. Yacca said:

    方法不错…安全问题交给球球去完成 我不做 哈哈

    回复

    Bssn Reply:

    球球是谁?

    回复

    Yacca Reply:

    wopus的酋长同学.

    回复

  6. underone said:

    牛X

    回复

    Bssn Reply:

    响应你号召而来。

    回复

  7. Rao said:

    要修改那么多呐 =。= 我再等等看看。。。

    回复

    Bssn Reply:

    那三个文件必须改,要是之前的版本没有那么多ajax和那个flash上传东西的话就不用改了。

    回复

  8. 趣站集 said:

    这似乎是国内第一个搞这个的,感谢博主的努力。

    回复

  9. 贝壳 said:

    这样的修改有那么点复杂呵呵~不过很强大哈~要是有插件就好了

    回复

    Bssn Reply:

    涉及到文件的修改,很多linux的空间也得设置777属性,还得手动,呵呵。

    回复

  10. Poshi said:

    哇,实在猛呀!

    回复

  11. Snow said:

    (*^__^*) 嘻嘻…… 学习下呢~

    回复

    Bssn Reply:

    又一个独立女博,欢迎!

    回复

  12. tckey said:

    这个方法不错。

    回复

  13. 主流产品=定时炸弹! | 老乐狂想曲 | LaoLe’s Blog said:

    [...] 仔细阅读“WordPress 三个必须的安全措施”、“让你的WordPress更安全(更改wp-admin目录名)”和“如何确保您的WordPress没有被黑” ,选择性的做好防御工作 [...]

  14. tol said:

    换不了 如果换了 在升级 又要改 麻烦

    回复

    Bssn Reply:

    @tol, 其实改一下登录名感觉就好了。

    回复

  15. 让你的WordPress更安全(更改wp-admin目录名) | 笔记 said:

    [...] 来源:http://www.bssn.org/make-wp-admin-safer.html [...]

Leave a Reply