我打算在即将推出的项目中使用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
是文件系统中的真实目录,则不应将其用于安全性
<位置>指令 <Location>部分完全在文件系统之外运行。这有几个后果。最重要的是,<Location>指令不应用于控制对文件系统位置的访问。由于几个不同的URL可以映射到相同的文件系统位置,因此可以绕过这样的访问控制。
如果你使用Access control by host,顺序应该是
Order deny,allow
Deny from all
Allow from 1.1.1.1
这确保了除了给定的IP地址或域之外,任何人都被禁止访问/wp-admin/
。
我想这里有记录: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>
完全披露:我猜。
我能够用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]
我很欣赏大家的意见。谢谢你!