1

我计划在即将到来的项目中使用 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>

我很感激任何提前输入!

4

3 回答 3

1

您不能Location在 .htaccess 文件中使用。如您所见,Context它只允许在主服务器配置文件或虚拟主机部分中使用。

此外,如果wp-admin是文件系统中的真实目录,则不应将其用于安全性

<Location> 指令
<Location> 部分完全在文件系统之外运行。这有几个后果。最重要的是,不应使用 <Location> 指令来控制对文件系统位置的访问。由于几个不同的 URL 可能映射到相同的文件系统位置,因此可以绕过这种访问控制。

如果您使用主机访问控制,则顺序应为

Order deny,allow
Deny from all
Allow from 1.1.1.1

这确保了任何人都被禁止访问/wp-admin/,除了给定的 IP 地址或域。

于 2013-03-04T17:31:15.567 回答
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#要求

但是,似乎这样的事情可以工作:

<Directory /wp-admin/>
    Require ip 192.168.1.104 192.168.1.205
</Directory>

全面披露:我猜。

于 2013-03-04T17:29:43.790 回答
0

我能够使用 Olaf Dietsche 写的东西来引导我朝着正确的方向前进。通过将下面的代码放在我的 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]

我感谢大家的意见。非常感谢!

于 2013-03-04T19:42:07.483 回答