代码之家  ›  专栏  ›  技术社区  ›  KJW

欺骗推荐人?

php
  •  0
  • KJW  · 技术社区  · 14 年前

    我如何欺骗推荐人?

    原创网站

    header("Location: http://www.example.org");
    

    我试着把 header("Location: http://www.destination.com"); 在里面 示例.org

    目的地.com ,它显示 原创网站 不作为参考 示例.org

    4 回复  |  直到 14 年前
        1
  •  1
  •   Jim    14 年前

    阐述赵的方法:

    <?php
    // This is contained in bounce.php on example.com
    $site = isset($_GET['site'])?$_GET['site']:null;
    $safe_list = array("domain.com", "domain2.com"); // prevent others from using script for bad reasons
    
    if (!empty($site) && in_array($site, $safe_list)) {
        header('Location: http://' . $site);
        exit;
    }
    ?>
    

    这是在otherdomain.com上使用的一个示例

    <?php
    header('Location: http://example.com/bounce.php?site=domain.com');
    exit;
    ?>
    

    这将确保“反弹”。但是要知道,如果用户关闭了referer或者将其设置为他们想要自定义的内容,那么这种情况就不适用了。

    安全列表是为了防止有人为了自己的目的而使用该页面,基本上只有你说的可以跳转到的站点才被允许。

    更新

    希望这就是你要找的,我没有误解。

        2
  •  2
  •   Quentin    14 年前

    在HTTP响应中,您不能指示客户机在发出下一个HTTP请求时发送任何特定的HTTP头。

        3
  •  2
  •   Daniel    14 年前

    在PHP中将header()与Location一起使用时,它不会将任何头直接发送到设置位置的位置。相反,它将头发送回浏览器(“响应”头),然后浏览器使用一组新的“请求”头向指定位置发出另一个请求。只有用户代理可以控制请求头。

    这意味着您必须从客户机的角度发出请求——或者使用JavaScript,或者在本例中更合适, cURL

    curl_setopt($ch, CURLOPT_REFERER, 'fakereferer.org');
    
        4
  •  1
  •   cHao Hammerite    14 年前

    “Referer”是由web浏览器发送的标题,通常是浏览器看到的最后一页。你不能告诉浏览器在那里显示什么,除非你自己www.example.com 可以把东西放在你面前。