飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

兼容IE和FF:实现获取来路Referer的JS方法

Author:flymorn Source:飘易
Categories:网站设计 PostTime:2009-5-6 15:57:35
正 文:
    前一阵子,飘易写了一篇《PHP伪造来源HTTP_REFERER的方法》,讨论了一下如何伪造来路信息referer,包括php和asp语言环境下的,今天,看到另一个JavaScript下的方法,经过测试,效果不错。

    在IE浏览器、火狐浏览器FF下,可以正常获取来路referfer,方法也挺简单的,FF下window.location方法可以,但在IE下不行;IE下虚拟点击的方式可以获取,但FF不支持,那么就通过判定当前的浏览器是IE还是FF,然后执行对应的代码,referer就能被统计到了。

    代码如下:

<script>
var url="http://www.piaoyi.org";
function goto2(){
        if(navigator.userAgent.indexOf("MSIE")>0){
                document.write("<a id='goa' href='"+url+"' style='display:none;'>a</a>");
                document.getElementById("goa").click();
        }else{
                window.location=url;
        }
}
goto2();
</script>

    这是代码原文地址:http://www.yubone.cn/post/174/,感谢原作者。

    PS(2009-9-21):经过飘易的测试,上面的代码需要作调整,否则也无法通过“document.referrer”获取来路。代码要调整如下:


<a id='goa' href='http://www.piaoyi.org' style='display:none;'>飘易</a> 
<script>
var url="http://www.piaoyi.org";
function goto2(){
        if(navigator.userAgent.indexOf("MSIE")>0){
                document.getElementById("goa").click();
        }else{
                window.location=url;
        }
}
goto2();
</script>

    补充,获取referrer来路的方法:
js:
<script type="text/javascript"> 
document.write(document.referrer); 
</script> 

php:
echo $_SERVER['HTTP_REFERER'];
作者:flymorn
来源:飘易
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:关于飘易:我的个人介绍
下一篇:Google Adsense的用户兴趣定位,真的有用么?
3条评论 “兼容IE和FF:实现获取来路Referer的JS方法”
2009-5-6 22:21:06
我是看不懂!!!
2 狗屁
2010-5-29 16:57:27
这能获取来路?这不过是个跳转~~~~!!
3 flymorn
2011-7-7 16:17:33
补充:

document.write(document.referrer); 
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2010 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有 渝ICP备07006361号