HTTP Header referer这玩意主要是告诉人们我是从哪儿来的,就是告诉人家我是从哪个页面过来的,可以用于统计访问本网站的用户来源,也可以用来防盗链。获取这个东西最好的方式是js,如果在服务器端获取(PHP方法如:$_SERVER['HTTP_REFERER']) 不靠谱,人家可以伪造,用js获取最好,人家很难伪造,
方法:利用js的 document.referer 方法可以准确地判断网页的真实来路。 目前百度统计,google ads统计,CNZZ统计,都是用的这个方法。防盗链也很简单了,js里判断来路url如果不是本站不显示图片。
众所周知,我们web开发人员痛恨IE浏览器,因为IE不支持标准,标准外的默认行为又和其他浏览器经常不一致:
在IE中用javascript做跳转,比如用window.location.href = “”; google如果使用document.referrer无法取到浏览器请求的HTTP referrer,因为IE清空了
而其他主流浏览器Firefox和Chrome都会保留referrer,没办法,这意味着IE又要享受“部长级”特殊待遇了:
以下代码可以解决ie的这个问题:
//检测如果是ie浏览器,则手动的给增加一个referer
这样的原理就是给IE浏览器的页面偷偷加了个链接,然后自动点这个链接,于是referrer就能保留了。

    1. var url = 'http://www.92csz.com';
    2. if (/MSIE (\d+\.\d+);/.test(navigator.userAgent) || /MSIE(\d+\.\d+);/.test(navigator.userAgent))
    3. {
    4. var referLink = document.createElement('a');
    5. referLink.href = url;
    6. document.body.appendChild(referLink);
    7. referLink.click();
    8. }
    9. else
    10. {
    11. location.href = url;
    12. }

最新文章

  1. QT不同版本编译
  2. 【8-15】Markdown语法学习
  3. CPlus播放多媒体之播放声音
  4. 【ASP.net】Equals 和 == 的区别
  5. SICP 1.1-1.5
  6. linux 错误总结
  7. 3.6 spring-construction-arg 子元素的使用与解析
  8. 庖丁解牛FPPopover
  9. poj 2888 Magic Bracelet(Polya+矩阵快速幂)
  10. FFmpeg源代码简单分析:常见结构体的初始化和销毁(AVFormatContext,AVFrame等)
  11. mac环境下mongodb的安装和使用
  12. Tesseract 引擎翻译
  13. 实惠VPS推荐
  14. 看到blackarch 字体不错 记录下来
  15. js排序问题
  16. Ubuntu中php.ini修改运行内存
  17. Android 内存
  18. MySQL优化Timeout: Pool empty. Unable to fetch a connection in 30 seconds, none available
  19. noip第10课作业
  20. 使用 java 实现一个简单的 markdown 语法解析器

热门文章

  1. HDU 1166 敌兵布阵 <线段树 单点修改 区间查询>
  2. [BZOJ1790][AHOI2008]Rectangle 矩形藏宝地(四维偏序,CDQ+线段树)
  3. [BZOJ 1794] Linear Garden
  4. 浙南联合训练赛 B-Laptops
  5. 【R笔记】给R加个编译器——notepad++
  6. Swift数独游戏优化——C++与OC混编、plist自动生成
  7. Ubuntu 16.04通过APT源安装QUEM虚拟机调试Linux内核
  8. 多IDC GSLB的部署 - ADC技术博客 - 51CTO技术博客
  9. 【spring boot】4.spring boot配置多环境资源文件
  10. Gitlab系列八之重置管理员密码