【问题标题】:Redirect people to website将人们重定向到网站
【发布时间】:2012-10-27 22:49:30
【问题描述】:

我试图弄清楚如何根据引荐来源网址将某个域上的所有流量重定向到我的其他网站。

例如,我们只希望没有推荐人或从我们的其他网站链接到的人能够访问该网站。

我正在考虑一个脚本,如果他们的引荐来源网址与我指定的网站不匹配(但仍然不允许引荐来源网址流量),它会将所有人重定向到我选择的网站。

感谢任何帮助!

【问题讨论】:

  • 仅供参考,推荐人很容易伪造。
  • @sberry 同意 - 引荐标头永远不可信任。许多防病毒软件也会从所有请求中删除此标头,因此即使在非敌对情况下也不可靠。

标签: php javascript redirect


【解决方案1】:

下面的 PHP 代码应该这样做(但请记住,这不能用作安全措施,因为 Referer 标头由客户端提供):

if (isset($_SERVER['HTTP_REFERER']) &&
    $_SERVER['HTTP_REFERER'] &&
    stripos($_SERVER['HTTP_REFERER'], "example.org") === false) {
    header("Location: http://example.com/", true, 302);
    exit();
}

在这里,我们检查客户端是否提供了Referer 标头,然后检查它是否为非空,最后检查它是否缺少正确的域名(此处为“example.org”)。如果是这样,我们将客户端重定向到另一个 URL(此处为“http://example.com/”)并退出。

【讨论】:

    【解决方案2】:

    您可以只检查 HTTP 引用(故意拼写错误)标头:

    if (!stristr($_SERVER['HTTP_REFERER'], "somesiteyouspecify") && !$_SERVER['HTTP_REFERER'] == '') ... redirect
    

    【讨论】:

      【解决方案3】:

      您应该在 Apache 或 nginx 等网络服务器中将其配置为 RewriteRules。可以在文档中轻松找到示例......(如果我知道使用的网络服务器软件,我会给出一个......)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-10
        • 1970-01-01
        • 2017-09-25
        • 2015-10-19
        • 1970-01-01
        • 2016-07-23
        相关资源
        最近更新 更多