基于HTTP_REFERER重定向用户

时间:2012-11-30 23:50:27

标签: php http-referer

我正在尝试重定向来自certian referal网站的网站上的用户以获得特殊消息。我有这个:

<?php $REFERER = $_SERVER['HTTP_REFERER'];

  if ($REFERER == "http://www.url.com/") { 
?>

Content Goes Here

?>    
    }
?>

他们没有得到消息

我做了一个测试并从我的其他网站做了一遍并回应了$_SERVER['HTTP_REFERER'];发布的内容并更改了上面的代码以完全匹配它并且它有效但我认为我遇到的问题是输出$_SERVER['HTTP_REFERER'];的{​​{1}}并不完全相同。例如,如果它们位于www.domain.com/page2/index.php页面上,则引荐来源为http://www.domain.com/page2/

有没有办法让人们来自www.domain.com,不管是什么?/?!

更新:

我尝试了所有前2个答案并且无法使其工作(可能是我的错)所以我根据他们发送的内容做了一些研究并创建了这个:

<?php 
    $mystring = $_SERVER['HTTP_REFERER']; 
    $findme   = 'domain'; 
    $pos = strpos($mystring, $findme);

if ($pos === false) {
    } else {
    echo "content";
 ?>

此选项有什么问题,因为它似乎有用吗?

3 个答案:

答案 0 :(得分:2)

您可以检查字符串是否以http://www.url.com/

开头
if (strpos($REFERER, "http://www.url.com/") === 0) { 

答案 1 :(得分:1)

真正简单的是:

if (strpos($REFERER, "www.url.com") !== false) { 

答案 2 :(得分:0)

您可以使用php的parse_url功能:

<?php $REFERER =  parse_url($_SERVER['HTTP_REFERER'], PHP_URL_PATH);

    if ($REFERER['host'] == "www.url.com") { 
?>