WordPress WP-admin IP检查和重定向

时间:2013-03-04 17:12:36

标签: wordpress security .htaccess

我打算在即将开展的项目中使用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>

我提前感谢任何意见!

3 个答案:

答案 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]

我很欣赏大家的意见。非常感谢你!