如何对所有资源实施身份验证?

时间:2019-02-18 作者:Brettetete

我想用wordpress主持一本个人日记。我不想与第三方共享它,但我希望能够使用我的管理员凭据从任何地方访问它。有几个插件,它们除了保护对站点/帖子的访问之外,什么都不做——除了其他一切(/wp-content/ 首先也是最重要的)仍然可以在没有权限的情况下访问。

所以我基本上想要的是/wp-admin 是我博客上每个资源所必需的。

${SITE_URL}/.*
我知道我可以添加一些.htaccess 基本身份验证。但我想避免这种情况。

1 个回复
SO网友:T.Todua

您应该定义要保护的资源。我认为你有这样的选择:

1) 保护整个站点

2) 仅保护帖子(无资源)

3) 保护立柱(&P);所有资源(但仅限于uploads, 不wp-content! 否则,您将破坏主题/插件)

所以,正如你所说,你需要第三条路。在这种情况下,您应该使用htaccess 基于cookie的重定向:

创建htaccess 在里面wp-content/uploads 这将限制没有将cookie“cookie\\u name”设置为值(即“xyz”)的用户访问所有URL:

RewriteEngine On RewriteCond %{HTTP_COOKIE} !cookie_name=xyz; [NC] RewriteRule ^ https://your_site.com/authorization-page [NC,L]

authorization-page 其中应该是一个表单,用于插入密码(根据需要设置),如果用户正确输入密码,则设置cookiecookie_namexyz.

请更换xyzcookie_name 具有非常随机的字符。