HTTP_REFERER有效和无效的情况

$_SERVER['HTTP_REFERER']可以获取前一页的URL。 页面跳转服务器获取http头时,使用$_SERVER['HTTP_REFERER'],有时可以获取,而有时又没有,下面整理了一些使用注意情况:

【有效的情况】
1、以iframe 形式调用地址

2、以window.open调用,打开新页面
window.open(url);

3、使用window.location.replace在Firefox 和Chrome下可以获取HTTP_REFERER

window.location.replace(url);

4、使用window.location.href在Firefox 和Chrome下可以获取HTTP_REFERER
window.location.href = url;

5、使用A标签跳转可以获取HTTP_REFERER
你可以用js来创建a连接后激活点击事件。

【无效的情况】
1、使用函数 file_get_contents或file等函数调用URL地址,这个地址所在的文件无法获取HTTP_REFERER

2、使用window.location.replace在IE6、IE7、IE8下无法获取HTTP_REFERER
window.location.replace(url);

3、使用window.location.href在IE6、IE7、IE8下无法获取HTTP_REFERER
window.location.href = url

【特殊情况】
使用PHP动态输出JS,在页面调用时,使用$_SERVER['HTTP_REFERER']获取的是当前页面的URL。