我打算在即将开展的项目中使用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>
我提前感谢任何意见!
答案 0 :(得分:1)
您无法在.htaccess文件中使用Location
。正如您在Context
中看到的那样,它只能在主服务器配置文件或虚拟主机部分中使用。
此外,如果wp-admin
是文件系统中的真实目录,则不应将其用于安全性
<强>&LT;地点&gt;指令强>
&LT;地点&gt;部分完全在文件系统之外运行。这有几个后果。最重要的是,&lt; Location&gt;不应使用指令来控制对文件系统位置的访问。由于几个不同的URL可能映射到相同的文件系统位置,因此可以规避这种访问控制。
如果您使用Access control by host,则订单应为
Order deny,allow
Deny from all
Allow from 1.1.1.1
这确保禁止任何人访问/wp-admin/
,但给定的IP地址或域名除外。
答案 1 :(得分:0)
我认为这里有记录: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>
完全披露:我猜。
答案 2 :(得分:0)
我能够用Olaf Dietsche所写的方式引导我走向正确的方向。通过将以下代码放在我的wp-admin文件夹而不是root中,我能够控制谁有权访问我的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]
我很欣赏大家的意见。非常感谢你!