我计划在一个即将到来的项目中使用Wordpress,对我来说最大的问题是安全性。
我将有几个用户谁将能够更新网站,我已经给了自己几个选项。我可以建立一个静态的网页,然后有一个"博客"页面,使用WordPress安装的页面只有。对于一个博客功能来说,这似乎有点过分,但这是一个选项。
我正在考虑的另一个选择是安装一个完整的WordPress来为整个网站提供动力。我最大的问题是阻止所有人的/wp-admin
,但静态IP的人不会改变。我想如果我走这条路,我可以使用我的.htaccess
来检查IP,如果它返回false,将其重定向到主页。如果为真,则继续进入wp-admin登录页面。
如果我用我的第二个选项,我如何使用.htaccess
来检查IP,如果它返回false,重定向回主页。如果是真的,继续进入WordPress登录页面。
这是最好的起点吗?
<Location /wp-admin/>
order allow,deny
allow from 1.1.1.1
deny from all
</Location>
我感谢任何提前输入!
不能在。htaccess文件中使用Location
。从Context
中可以看到,它只允许在主服务器配置文件或虚拟主机部分中使用。
此外,如果wp-admin
是文件系统
& lt;位置指令>
节完全在文件系统之外操作。这有几个后果。最重要的是,不应该使用 指令来控制对文件系统位置的访问。由于几个不同的url可以映射到相同的文件系统位置,因此可以绕过这样的访问控制。
如果使用主机访问控制,顺序应该是
Order deny,allow
Deny from all
Allow from 1.1.1.1
这确保任何人都被禁止访问/wp-admin/
,除了给定的IP地址或域。
我想这里有记录:http://httpd.apache.org/docs/trunk/howto/auth.html
您可能需要将它与以下链接连接起来:http://httpd.apache.org/docs/2.2/howto/htaccess.html和http://httpd.apache.org/docs/trunk/mod/mod_authz_core.html#require
但是,看起来像这样的东西可以工作:
<Directory /wp-admin/>
Require ip 192.168.1.104 192.168.1.205
</Directory>
完全披露:我猜。
我能够用奥拉夫·迪契所写的来指引我走向正确的方向。通过将下面的代码放在我的wp-admin文件夹中而不是根目录中,我能够控制谁可以访问我的url/wp-admin登录,如果他们不匹配允许的IP,那么我将他们重定向回主页。
Options +FollowSymlinks
RewriteEngine on
#urls to exclude
RewriteCond %{REQUEST_URI} !/wp-admin$
RewriteCond %{REQUEST_URI} !^/images$
RewriteCond %{REQUEST_URI} !^/$
#ip to allow access
RewriteCond %{REMOTE_HOST} !^111.111.111.111$
#send to root. If you want a specific URL, use /yourcustomurl.html
RewriteRule .? / [R=302,L]
我感谢大家的意见。非常感谢!