安全培训中提到可以通过referer判断安全性,hackbar中也有一个enable referer的选项,则,这个referer到底是个什么角色?

(以下是搜集的一些资料整合,链接均放到底部,不再一一注明)

1、打开httpfox抓包插件,在百度中搜索126.com,搜索项中点击网站入口,通过抓包工具,查看http请求

在http请求的Headers部分可见Referer.

Referer http://www.baidu.com/s?tn=98835442_hao_pg&ie=utf-8&f=3&wd=126.com&oq=126.&bs=126.com&rsv_bp=1&inputT=5799&rsp=0

 

Http协议头中的Referer主要用来让服务器判断来源页面, 即用户是从哪个页面来的,通常被网站用来统计用户来源,是从搜索页面来的,还是从其他网站链接过来,或是从书签等访问,以便网站合理定位.

Referer有时也被用作防盗链, 即下载时判断来源地址是不是在网站域名之内, 否则就不能下载或显示,很多网站,如天涯就是通过Referer页面来判断用户是否能够下载图片.

当然,对于某些恶意用户,也可能伪造Referer来获得某些权限,在设计网站时要考虑到这个问题.

还可用做电子商务网站的安全,在提交信用卡等重要信息的页面用referer来判断上一页是不是自己的网站,如果不是,可能是黑客用自己写的一个表单,来提交,为了能跳过你上一页里的javascript的验证等目的。

但是注意不要把Rerferer用在身份验证或者其他非常重要的检查上,因为Rerferer非常容易在客户端被改变。

(火狐的一个插件RefControl修改Referer引用)

对浏览器来说,一般以下几种情况是不会发送Referer,因为可能有潜在的安全问题:

1.用户手动输入网址或是从收藏夹/书签中访问.

2.页面从Https跳转到Http;应该是处于安全考虑,该点在RFC-2616中有说明;主流浏览器均遵守这个规则,比如IE、FF;但默认情况下Https到Https是会发送Referer的
安全问题在于有可能把地址中含有的一些关于用户的敏感信息发送到其他恶意网站上. 3、由于FF提供了很强大的自定义参数设置功能,所以我们可以通过about:config页面修改以下两个选项的默认设置: network.http.sendRefererHeader (default=2)
设置Referer的发送方式,0为完全不发送,1为只在点击链接时发送,在访问页面中的图像什么的时候不发送,2为始终发送。

  

参考:

http://blog.csdn.net/mutsinghua/article/details/5187595

http://s99f.blog.163.com/blog/static/351183652009086578735/

HTTP之referer的更多相关文章

  1. 把token带到 http头部 或者验证一下referer

    提交地址:http://baozoumanhua.com/users/8311358提交数据:-----------------------------195704664324Content-Disp ...

  2. javascript操作referer

    Referrer的重要性 HTTP请求中有一个referer的报文头,用来指明当前流量的来源参考页.例如在www.sina.com.cn/sports/上点击一个链接到达cctv.com首页,那么就r ...

  3. Http referer origin

    为了防止CSRF的攻击,我们建议修改浏览器在发送POST请求的时候加上一个Origin字段,这个Origin字段主要是用来标识出最初请求是从哪里发起的.如果浏览器不能确定源在哪里,那么在发送的请求里面 ...

  4. http - referer

    以前对Http中Referer的认识不够透彻.最近理了理,记录一下. 1 Referer可以记录访问的来源,统计访问量,可以用来防盗链. 2 客户端用js不能篡改Referer,用一些插件什么的可以达 ...

  5. 在JavaScript和C#中获得referer

    1. JavaScript /** * 获取HTTP请求的Referer * @ishost 布尔类型 Referer为空时是否返回Host(网站首页地址) */ function get_http_ ...

  6. HTTP之referer(网上搜集)

    1.打开httpfox抓包插件,在百度中搜索126.com,搜索项中点击网站入口,通过抓包工具,查看http请求 在http请求的Headers部分可见Referer. Referer http:// ...

  7. 看好你的门-客户端传数据-用java修改referer

    1.简单说明 Referer.origin用来表明,浏览器向WEB服务器表明自己来自哪里.但是就它本身而言,并非完全安全. 写一个例子,可以任意修改http信息头中的referer.origin 2. ...

  8. HTTP Referer 防外链

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

  9. C#:WebBrowser中伪造referer,为何对流量统计器无效?

    使用webbrowser伪造referer的方法:webBrowser1.Navigate(url, "_self", null, "Referer:http://www ...

  10. CSRF - 空Referer绕过

    在实际环境中,服务器很多CGI由于一些历史原因,必须允许空Referer的请求.比如:老的客户端版本请求的时候就没有Referer,总不能在服务端一刀切,让老版本的用户都无法正常使用了吧. 这样的CG ...

随机推荐

  1. Up and running with Apache Spark on Apache Kudu

    After the GA of Apache Kudu in Cloudera CDH 5.10, we take a look at the Apache Spark on Kudu integra ...

  2. Linux环境变量相关总结

    Linux下环境变量分为全局和局部变量两种. Linux 下通常提供三种工具可以可以查看环境变量:printenv.env.set.前两个可以查看全局环境变量,最后一个会打印包含全局和局部环境变量. ...

  3. JSP怎么将表单提交到对应的servlet

    昨天学习了这些内容,今天做一下分享吧,个人感觉挺乱的....呵呵,其实没事,慢慢就好了.难的不会,会的不难嘛!努力+认真就可以了,相信大家都可以的!加油!!! 下面的图是我用myeclipse建立的项 ...

  4. ARKit从入门到精通(8)-ARKit捕捉平地

    转载:http://blog.csdn.net/hdfqq188816190/article/details/73360287 1.1-ARKit捕捉平地实现流程介绍 1.2-完整代码 1.3-代码下 ...

  5. Python的可视化包 – Matplotlib 2D图表(点图和线图,.柱状或饼状类型的图),3D图表(曲面图,散点图和柱状图)

    Python的可视化包 – Matplotlib Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型地2D图表和一些基本的3D图表.Matplotlib最早是为了可 ...

  6. mongoDb CPU利用率100%的分析和解决

    在公司的项目中,突然出现过一个情况,mongodb 的CPU利用率到达100%,导致服务器这边卡死了,请求了半天无响应,提示请求超时. 因为,当时APP用户可能会在某一个时间段集中的使用,所以,请求量 ...

  7. thinkphp验证码乱码的解决办法

    很有可能是入口文件index.php和.htaccess文件要转换成 以UTF-8无BOM格式编码

  8. python 普通方法,@classmethod,@staticmethod

    普通方法 实例化一个类,然后通过类的实例化去调用方法: class method1: def __init__(self): self.items = [1,2,3,] def getvalue(se ...

  9. java.io.ByteArrayInputStream 源码分析

    ByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取的字节. 成员变量 //由该流的创建者提供的 byte 数组. protected byte buf[]; //要从 ...

  10. CAS (14) —— CAS 更多用户信息

    CAS (14) -- CAS 更多用户信息 摘要 将更多用户信息写入到service验证返回消息中 版本 tomcat版本: tomcat-8.0.29 jdk版本: jdk1.8.0_65 cas ...