使用 .htaccess 简单防护 WordPress 的管理程式

本站曾用过 Limit Login Attempts 这个 WordPress 的外挂程式,用以防止被暴力破解登入密码。当有人一直以错误的密码进行登入时,就会对其 IP 进行几个小时的封锁,然后 mail 通知你又有什么 IP 被封锁了,效果其实也还不错。

不过其实只要用“.htaccess 的权限认证方式”,就可以针对 wordpress 的 wp-login.php 这个单一档案做防护,也可以达到很好的效果。

.htaccess 认证

首先找一个安全的地方放置 .htusers 这个档案。所谓的“安全”,是指至少不要在网页可以被下载到的路径.htusers 的设定方式请参考本站另一篇文章:

密码请不要用跟 WordPress 原本的登入密码一样。

编辑 wordpress 目录下的 .htaccess,在档案最后如入:

AuthType Basic
AuthName "Restricted Area"
AuthUserFile "/path/to/.htusers"
<Files wp-login.php>
require valid-user
</Files>

如果你想进一步针对整个 wp-admin 目录做防护,则进到 wordpress 下的 wp-admin 目录,新增或编辑 .htaccess,一样在档案最后如入:

AuthType Basic
AuthName "Restricted Area"
AuthUserFile "/path/to/.htusers"
require valid-user

参考网页

网站套件的“设定档”安全性问题

这是我在 Facebook 上看到的安全资讯,我觉得很重要,也适用在任何的网站套件上。

以 WordPress 为例,首先,请查看你的 WordPress 目录下是否有这些档案:

  • wp-config.php~
  • wp-config.php.2
  • wp-config.php.bak
  • wp-config.php.old
  • wp-config.php.ori
  • wp-config.php.orig
  • wp-config.php.original
  • wp-config.php.sav
  • wp-config.php.save
  • wp-config.php.swp
  • wp-config_php
  • wp-config.php_2
  • wp-config.php_bak
  • wp-config.php_old
  • wp-config.php_ori
  • wp-config.php_orig
  • wp-config.php_original
  • wp-config.php_sav
  • wp-config.php_save
  • wp-config.php_swp

继续阅读

WordPress 的错误讯息: You don’t have permission to access post.php ...

如果你在上传图片时,出现:

 Http Error

或是发表文章时,出现

You don’t have permission to access /wordpress/wp-admin/post.php on this server.

这是 Apache 的 mod_security 造成之错误,这时候你可以在 wp-admin 的目录下新增 .htaccess 档案,内容如下:

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

这样应该就可以轻松解决了。

参考网页

  1. 窄多之Blog: PHP post error: Forbidden - You don't have permission to access
  2. Hongkiat: WordPress 2.5 Image Upload Error [Wordpress Fix]