WordPress WP-admin IP检查和重定向

问题描述 投票:1回答:3

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

我提前感谢任何输入!

wordpress security .htaccess
3个回答
1
投票

您不能在.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/


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>

完全披露:我猜。


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]

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

© www.soinside.com 2019 - 2024. All rights reserved.