【问题标题】:.htaccess referrer rewrite rule for one pretty url.htaccess 一个漂亮的 url 的引荐来源网址重写规则
【发布时间】:2012-06-20 22:36:39
【问题描述】:

我需要确保当引用者来自远程域时,无法登录 Drupal 的用户登录表单。这是一个影响企业接受度的安全漏洞。

路径为:https://domain.com/user

目前在 .htaccess 末尾有一条规则要求 https 访问

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

我查看了此规则以了解该规则如何识别 url,但不知道我将如何采用该规则并将其与引用者一起实施,并且不会影响 https 的其他规则

【问题讨论】:

    标签: .htaccess drupal drupal-6 xss


    【解决方案1】:
    # if referer not empty
    RewriteCond %{HTTP_REFERER} !^$
    # and referer doesn't contain domain.com
    RewriteCond %{HTTP_REFERER} !domain\.com
    # and it is a POST request
    RewriteCond %{REQUEST_METHOD} POST [NC]
    # than redirect to current url to remove the POST data and show the default login screen
    RewriteRule ^(user)$ /$1 [R=302,L]
    

    【讨论】:

    • 检查 HTTP_REFERER 来验证用户的位置是不安全的。 HTTP_REFERER 由客户端设置,很容易被欺骗。此外,除非表单首先由 drupal 生成(表单令牌需要设置和匹配),否则用户无法登录表单,这意味着无法将登录表单嵌入到另一个站点。 Drupal 已经提供了 xss-prevention。
    猜你喜欢
    • 1970-01-01
    • 2014-10-18
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多