【问题标题】:Redirect url if referrer isn't current domain name如果引用者不是当前域名,则重定向 url
【发布时间】:2012-07-18 20:41:16
【问题描述】:

如果任何用户尝试通过 url 访问会员区,我会尝试重定向到另一个页面。

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} ^http(s)?://(www\.)?(?!test\.jason\.ca) [NC]
Rewriterule ^ http://test\.jason\.ca [R,L] 

因此,如果他们尝试访问任何 url 而没有引用者是域名,我希望它能够将他们踢到主页。我知道我做错了,但我还不知道是什么。有什么想法吗?

编辑:所以它显然与我在上面发布的内容不完全一样。我忘了包括这部分,但这正是我的 .htaccess 中的内容:

php_value upload_max_filesize 1024M
php_value post_max_size 20M
php_value max_execution_time 200
php_value max_input_time 200
AddType text/x-component .htc


# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{HTTP_REFERER} ^http(s)?://(www\.)?(?!test\.jason\.ca) [NC]
Rewriterule ^ http://test\.jason\.ca [R,L] 
</IfModule>

# END WordPress

【问题讨论】:

  • 仅供参考,使用引用来进行任何类型的验证通常是一个相当糟糕的主意,因为用户代理几乎可以提供他们想要的任何东西。欺骗是微不足道的,但是浏览器不报告推荐信息的合法用户会很恼火。我建议不要这样做。
  • 您建议改用什么?我试图阻止任何人访问我的 wordpress 上传文件夹,除非他们被授权访问它(登录 wordpress)
  • 这取决于它应该有多安全,但我建议使用基于 PHP 的解决方案。会议。如果您不想自己动手,我敢肯定有各种 WordPress 身份验证插件。
  • 好吧,我确定必须有一种方法可以访问 Wordpress 已经用于验证用户身份的会话或 cookie?

标签: .htaccess redirect referrer


【解决方案1】:

你需要把referer规则放在wordpress规则之上:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_REFERER} ^http(s)?://(www\.)?(?!test\.jason\.ca) [NC]
Rewriterule ^ http://test\.jason\.ca [R,L] 

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-09
    • 2016-06-16
    • 2014-01-13
    • 2021-12-18
    • 2014-09-22
    相关资源
    最近更新 更多