【问题标题】:htaccess - if no cookie, redirect to subfolderhtaccess - 如果没有 cookie,则重定向到子文件夹
【发布时间】:2013-09-21 20:15:22
【问题描述】:

我想从 DDOS 保护 /wp-admin 目录,所以我认为用 htaccess 阻止没有特殊 cookie(名为“mzgtest”,值为“tak”)的每个人是个好主意。如果有人没有这个 cookie 应该被重定向到 /wp-admin/login 子文件夹

我编写了这个 .htaccess 文件(我将它放在 /wp-admin 子文件夹中)规则:

RewriteCond %{HTTP_COOKIE} !mzgtest=tak [NC]
RewriteRule ^(.*)$ ./login/ [NC,L]

但它不起作用。它相反。设置此规则时:

  • 如果有人有 cookie mzgtest=test,则重定向到 /wp-admin/login 子文件夹

  • 如果有人没有此 cookie,将被重定向到 /wp-admin/login 但浏览器显示错误 500

知道应该怎么写吗?

【问题讨论】:

  • 如果它的工作方式与预期相反,那么当您删除 ! 时会发生什么?

标签: wordpress .htaccess redirect cookies


【解决方案1】:

由于 Apache 不断转发到 /admin/login/,因此无限循环导致您收到 500(内部错误)。如果尚未设置 cookie,则需要设置它:

RewriteCond %{HTTP_COOKIE} !mzgtest=tak [NC]
RewriteRule ^(.*)$ login/ [L,CO=mzgtest:tak:%{HTTP_HOST}]

【讨论】:

  • 比你,但它不能解决我的问题如果我不想为每个人设置这个 cookie 怎么办?这将是秘密 cookie,我将以某种秘密方式设置它 :) 该方法是为了防止对 /wp-admin 目录进行 ddos​​ 攻击。我将为授权用户设置这个秘密 cookie,只有那些人才能登录 /wp-admin。其他没有 cookie 的人应该被重定向到这个 /login 目录(或者只是以另一种方式被阻止,我愿意接受建议)
  • 建议:您可以根据 IP 地址或使用 HTTP 基本身份验证来检测授权用户。
  • 在这种情况下我不能 :( 太多用户,太多 ips。我也不能使用基本身份验证:在 /wp-admin 中有一些文件应该在没有授权的情况下可用
猜你喜欢
  • 2014-08-02
  • 1970-01-01
  • 2015-09-23
  • 1970-01-01
  • 2016-12-17
  • 2013-07-10
  • 2014-04-03
  • 2015-03-18
  • 2014-06-01
相关资源
最近更新 更多