【问题标题】:.htaccess - only one referral allowed; fastcgi.htaccess - 只允许一个推荐;快速cgi
【发布时间】:2011-12-11 23:33:53
【问题描述】:

我是第一次创建 .htaccess 文件,但它对我不起作用。

我的 htaccess 如下所示:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^https://(www\.)?mysite.net/.*$ [NC]
RewriteRule .* - [F]

.htaccess 文件位于子域support.somesite.com 对应的目录中 我只想允许https://www.mysite.net 域的访问(https://www.mysite.net/qa/test.aspx 和其他有指向support.somesite.com 的链接)

但是,上面的 .htacess 不起作用。我运行 phpinfo 并看到服务器 API 是 cgi/fastcgi 而不是 Apache。我不知道这是否是一个问题。

这与 mod_rewrite 模块有关吗?我可以将上面的 htaccess 与 fastcgi Server API 一起使用吗?

【问题讨论】:

    标签: php apache .htaccess referer


    【解决方案1】:

    HTTP_REFERER 不适用于 https。

    【讨论】:

    • 那么你的建议是什么?我找到了followign链接-stackoverflow.com/questions/1390862/…这几乎是我的情况。所以我有两页。一种是mysite.netmysite.net/qa,它托管在IIS 上,并且有ASPNET 页面。另一个是托管在 Apache 服务器上的 support.somesite.com,但目前客户端仅使用 html 页面。我需要 support.somesite.com 只允许 mysite.net 作为推荐人。这只是为了减少一点流量,但它并不是那么重要的安全问题。那我应该用什么?
    • 我要补充的是第一个站点是https,第二个站点是http,所以我从https链接到http。
    • 就是这样。当您来自 https 页面时,HTTP_REFERER 标头不可用。我没有其他建议,只需按照那个 SO 问题中的建议进行操作即可。基本上,在 url 中添加一个秘密(这样从 mysite.net/qa 链接的 url 每次都会改变)并在你的第二个站点中验证它,一个秘密就像 (REMOTE_ADDR, hmac(REMOTE_ADDR)) 其中 hmac 就像一个哈希函数。但是,恕我直言,流量很便宜,在这种情况下您不应该做任何事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 2016-11-02
    • 2015-06-17
    • 2015-08-07
    • 1970-01-01
    • 2011-05-22
    • 2014-08-10
    相关资源
    最近更新 更多