HTTP headers是HTTP请求和相应的核心模块,它承载了关于客户端浏览器、请求页面、服务器等相关信息。Referer是HTTP头中的一个属性,告诉服务
器我是从哪个页面链接过来的,所携带的信息用于做统计,也可以用来防盗链。
获取方式有两种:

1服务器端获取

Java中获取referer的方法是:request.getHeader("referer")

String referer = request.getHeader("referer");
//getServerName() 返回网站的域名
if(referer==null || !referer.contains(request.getServerName())){
}else{}

request.getHeader("referer")可用的情况:
1.<a href="">
2.表单提交

不可用的情况:
1.从收藏夹链接
2.自定义地址
3.浏览器直接输入
...

2 js获取
利用js的 var ref=document.referrer 方法可以准确地判断网页的真实来路。
然后可以使用ref.indexOf("xx")==-1判断网页来路

然而有时候Javascript中读到的referrer却是空字符串。下面提供园友的博客,供需要时参考

http://www.cnblogs.com/rubylouvre/p/3541411.html

转载于:https://www.cnblogs.com/itliucheng/p/4915211.html

referer htttp headers 统计信息 防盗链相关推荐

  1. HTTP Referer(页面统计/资源防盗链)

    简介 HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理.比如从我主 ...

  2. Nginx使用http_accesskey_module防盗链,告别referer,告别伪装

    Nginx使用http_accesskey_module防盗链,告别referer,告别伪装 传统的防盗链很多是依赖referer,比如apache的rewrite模块,根据规则判断referer,这 ...

  3. Referer的理解及防盗链

    HTTP请求的头信息里面,Referer是一个常见字段,提供访问来源的信息.很多开发者知道这个字段,但是说不清它的具有细节.本文详细介绍该字段. 一.Referer的含义 现实生活中,购买服务或加入会 ...

  4. 新建网站提升曝光率设置集合(边使用边更新)(包括:SEO优化,Robots设置,CDN加速,防盗链)

    目前处于边学习边记录的状态,将自己建站中遇到的问题记录下来,以供大家参考,最终效果可以访问我的主页进行查看:alvincr.com Table of Contents 1.1 SEO优化目的(搜索引擎 ...

  5. nginx的高级配置(4)——防盗链

    为了保护网站的资源和带宽,我们需要进行防盗链措施,避免他人盗用网站的资源.我们只需要在nginx.conf的server中加入 1 2 3 4 5 6 7 8 location ~* ^.*\.(gi ...

  6. Nginx(七)防盗链

    一   基本铺垫 盗链的理解 ①  什么是盗链 盗链就是'盗用'别的网站的'链接'1)'大佬'建一个网站,'提供下载'以提高自己知名度和吸引力,这样你就必须有'空间存储'那些供人们下载的资源2)'不劳 ...

  7. 秋天的第一份“干货” I Referer 防盗链,为什么少了个字母 R?

    Referer 为什么叫 Referer?它代表什么意思?在诸多防盗链竞争中它有什么优势? 今天,在聊 Referer 防盗链之前,先来聊聊我们在现实生活中常常碰到的推荐人(Referrer)信息. ...

  8. 基于NodeJS的HTTP server Plus 2:防盗链(referer)

    什么是 "盗链"? "盗链" 说白了就是利用别人网站的资源链接放在自己的站点,在未经允许的情况下去获取别人网站里面的图片或者视频等资源,导致资源所有者的网站的流 ...

  9. html设置referer防盗链,referer与防盗链

    referer是什么 referer 中文意思是:参照页面,引用页. 下图直观感受,(づ ̄ 3 ̄)づ image 直接在浏览器中输入url地址来直接访问图片/js/css等资源时是没有referer的 ...

最新文章

  1. 面试官:你来谈谈数据库优化的几个阶段?
  2. 程序开发是编写sql语句的注意事项
  3. OSChina 周三乱弹 ——相亲妹子说了一句让我肾疼的话
  4. 用循环求出1-100之间的偶数和
  5. android 自定义屏保,android 自定义屏保问题
  6. 第10章 部署Exchange2010 部署边缘服务器
  7. android opengl es 雾化效果实例
  8. 挑选出tensor中等于0的索引_Pytorch中的5个非常有用的张量操作
  9. 【Siddhi】Siddhi 4.2.40版本之前的一个Bug
  10. 内存或磁盘空间不足 excel无法再次打开_Mac系统中检测和清理磁盘空间的几个工具...
  11. 【实践】BiLSTM上的CRF,用命名实体识别任务来解释CRF(2)损失函数
  12. 15.凤凰架构:构建可靠的大型分布式系统 --- 服务网格
  13. UBUNTU配置samba
  14. Laravel5.3之Container源码解析
  15. Anormaly_Detection_with_Keras
  16. StrongShop跨境电商系统源码 支持多语言多货币
  17. web前端开发Vue面试题记录
  18. 一起谈.NET技术,走向ASP.NET架构设计——第二章:设计/ 测试/代码
  19. myeclipse部署多个应用到不同的weblogic domain中
  20. Offer是否具有法律效力

热门文章

  1. Scala AKKA入门示例
  2. Scala成员属性:使用_给属性赋默认值/私有/val
  3. Scala代码案例:求ax2+bx+c=0方程的根
  4. 静态变量和实例变量的区别
  5. Maven修改远程仓库配置
  6. Qt三种方式实现FTP上传功能
  7. 操作系统外壳(shell)
  8. Elastic:为 Elasticsearch 启动 https 访问使数据访问更安全
  9. Bootloader详解
  10. 安装Win7时出现“安装程序无法创建新的系统分区……”的解决办法