如何限制和限制对 wordpress Admin 的访问(即使在登录后),仅限于一台或两台机器。如何“手动”创建存在于一台计算机上的证书,以检查对我的管理页面的访问权限?
2 回答
您可以在 /wp-admin 文件夹中创建一个.htaccess
文件,以通过 IP 或主机名限制访问。在.htaccess
文件中,添加以下内容:
<LIMIT GET>
order deny,allow
deny from all
allow from [xxx.xxx.xxx.xxx]
allow from [host.domain.com]
</LIMIT>
您还可以创建一个.htpasswd
文件以使用 Wordpress 身份验证之外的 BASIC 身份验证。通过运行创建文件:
htpasswd -c .htpasswd [username]
其中 [username] 是您要创建的用户名,它会提示输入密码。要添加其他用户,请省略-c
(此标志创建一个新文件)。创建 .htpasswd 文件后,在文件中引用它,.htaccess
如下所示:
<LIMIT GET>
AuthType Basic
AuthName "Wordpress Admin"
AuthUserFile /path/to/authfile/.htpasswd
Require valid-user
</LIMIT>
您可以使用客户端证书身份验证来限制对站点该部分的访问。(为了可用性,最好通过重新协商,在目录/位置指令中请求证书,而不是针对整个主机。)
客户端证书的 CA 不必与服务器证书的 CA 相关,因此您可以拥有自己的小型 CA。(有一些工具可以帮助您解决这个问题,例如 OpenSSLCA.pl
或 TinyCA。)
您需要为要允许这些连接的浏览器颁发证书。您还可以将某些主题 DN 映射到某些用户名(使用FakeBasicAuth
身份验证)并将其用于授权。这里有例子:http ://httpd.apache.org/docs/2.2/ssl/ssl_howto.html#accesscontrol
您可以让这些浏览器上的私钥的使用不受密码保护(尽管这通常不是一个好主意),因此使用这些机器的任何人都可以通过这种方式访问(如果您正在尝试这样做)。用密码保护它们当然更好(例如 Firefox 中的主安全密码),这样您就知道它也是机器的正确用户。您可能需要为此查看 IE 的不可导出私钥选项,以便即使合法用户也无法导出私钥(至少没有一定程度的困难)。