Posts Tagged ‘ htaccess

使用 .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

参考网页

.htaccess 的权限认证方式

“.htaccess 验证”让你不用写程式,就可以用最简单的方式做出“网页登入”的功能,限制哪些用户进到网页的某一层目录。

建立用户验证资料

建立用户验证档

建立用户验证档,并新增一组帐号及密码:

htpasswd -c /path/to/.htusers UserName1

这里所产生的 .htusers 是一个文字档,里面会有用户名称及编码过的密码。第一次建立档案时,必须加 -c 参数。同时,请找一个安全的地方放置 .htusers 这个档案,所谓的“安全”是指至少不要在公开网页可以被下载到的路径

继续增加第二组帐号及密码到验证档时,就不用加 -c 参数:

htpasswd /path/to/.htusers UserName2

建立群组资料档

如果用户比较多,你可能会想要用群组的方式来做管理。群组资料档的目的是要将多个用户设为一个群组,请新增或编辑 /path/to/.htgroups,依需求增加类似如下的设定:

Group1:UserName1 UserName2

代表 Group1 包含 UserName1UserName2 这两个用户。

验证登入

在欲执行用户验证的网页目录下,建立一个 .htaccess 档案,验证的方式可针对用户或群组。

针对用户:

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

上述的最后一行是只有 UserName1 允许进入,你也可以改成:

require valid-user

表示针对 /path/to/.htusers 里的所有用户。

针对群组:

AuthName "Restricted Area"
AuthType Basic
AuthUserFile /path/to/.htusers
AuthGroupFile /path/to/.htgroups
require group Group1

设定好之后,当用户要存取该目录,就会跳出叫你登入的对话框:

问题排除

如果在设定 htaccess 认证方式之后,在进入网页时,仍然没有跳出验证的对话框,则请编辑 /etc/httpd/conf/httpd.conf,搜寻相关的“AllowOverride”设定,改成:

AllowOverride All

return top