$ _SERVER [' HTTP_REFERER']无效

时间:2014-04-21 23:35:04

标签: javascript php

我目前的设置...... 包含

的javascript文件
$(document).ready(function() {
$.ajax({
    cache: false,
    type: 'GET',
    url: './memberfunctions/getRef.php',
    data: {},
    beforeSend:function(){
    },
    success:function(data){
        // successful request; do something with the data
        console.log(data);
    },
    error:function(){
        // failed request; give feedback to user
        alert("idk what happened");
    }
});
});

getRef.php是

<?php

$httpReferer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null;

echo $httpReferer;

?>

如果我去了pastebin,输入并点击mysite.com,我去mysite.com,控制台说mysite.com。显然我想让控制台说出pastebin.com / ######

我知道HTTP_REFERER是不安全的,易受攻击的,可怜的,不可靠的。它有一个非常重要的目的。

1 个答案:

答案 0 :(得分:3)

对于您的AJAX请求,引荐来源不是pastebin.com。您的父页面将引用者设置为pastebin。

您可以尝试使用内联脚本:

<script> var ref = "<?php echo $_SERVER['HTTP_REFERER']; ?>"; </script>

OR以下不需要内联

<script> var ref = document.referrer; </script>

除非在AJAX调用的意图中遗漏了一些东西。