转载自:https://www.cnblogs.com/bukudekong/p/3829852.html
HTTP之referer
安全培训中提到可以通过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
3
4
5
6
7
8
9
|
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/
相关推荐
Nginx 提供了一个名为 ngx_http_referer_module 的模块,专门用于处理 HTTP 请求头中的 `Referer` 字段,从而实现防盗链功能。本文将详细介绍如何利用 Nginx 的 `referer` 指令进行防盗链配置。 `Referer` 字段在 ...
HTTP Referer是header的一部分,当浏览器向Web服务器发送请求时,一般会带上Referer,告诉服务器用户是从哪个页面链接过来的。服务器可以根据Referer值来判断请求的来源是否合法。如果用户点击被构造好的CSRF利用...
本代码是处理android hybrid混合应用,遇到的webview 拦截 header referer 问题...场景:angular $HTTP 或者js的http请求或者其他。。webview成功拦截get 、post、delete请求,添加header,referer以及body 参数体。。
### PHP 伪造IP和HTTP-REFERER的方法 #### 背景介绍 在网络环境中,IP地址和HTTP_REFERER(HTTP-REFERER)是两种常见的用于跟踪和识别用户请求的数据。其中,IP地址通常用来标识网络中的设备;而HTTP_REFERER则记录...
在Java Web开发中,我们经常利用HTTP协议提供的各种头部信息来实现这一目标,其中"request.getHeader("referer")"就是一种常用的手段。这个方法允许我们获取到用户发起请求时的来源页面URL,从而判断请求是否合法。 ...
在网页开发中,HTTP_REFERER头信息是一个非常重要的字段,它标识了用户是从哪个页面跳转到当前页面的。然而,由于各个浏览器之间的实现差异,获取HTTP_REFERER的方式并不总是相同,尤其是在Internet Explorer(IE)...
JavaScript中的`referer`是一个关键的HTTP头部字段,它记录了用户从哪个URL访问了当前页面。这个信息对于网站分析、追踪用户来源以及了解流量来源至关重要。在JavaScript中,我们可以使用`document.referrer`来获取...
HTTP Referer是HTTP协议中的一个重要概念,主要用在Web服务器的请求头(header)中。当用户点击超链接从一个页面跳转到另一个页面时,浏览器会向目标服务器发送HTTP请求。在这个请求中,会包含一个名为“Referer”的...
在本例中,我们关注的是一个特定的BHO插件,它的主要功能是修改HTTP请求头中的`Referer`字段。 `Referer`头字段是HTTP协议中的一部分,它包含了用户从哪个URL点击链接来到当前页面的信息。这对于网站分析用户来源、...
PHP中的HTTP_REFERER函数是PHP语言中用于获取HTTP请求头中的Referer(推荐人)字段的值。这个字段通常由浏览器在发送请求到服务器时自动填充,表明用户是从哪个页面链接过来的。然而,需要注意的是,HTTP_REFERER...
### ASP、PHP与.NET伪造HTTP-REFERER方法及其防范措施 #### HTTP-REFERER的意义与问题 在Web应用中,HTTP-REFERER字段通常用于记录客户端请求来源页面的信息,这在许多方面都有着重要的作用,例如统计分析、防盗链...
php获取当前页面的前一个页面URL地址,即当前页面是从哪个页面链接过来的,可以使用$_SERVER[‘HTTP_REFERER’],但是这个来源页面的URL地址是可以被伪造和欺骗的,本文章向大家介绍伪造HTTP_REFERER页面URL的三种...
标题中的“VBS伪造HTTP-REFERER的实现方法”指的是使用Visual Basic Script (VBS) 来模拟HTTP请求,并在请求头中设置自定义的HTTP_REFERER字段。HTTP_REFERER是HTTP协议中的一个字段,用于记录用户从哪个页面链接...
HTTP_REFERER是HTTP协议头中的一个字段,它记录了用户是从哪个页面链接过来的。在Web开发中,HTTP_REFERER常用于统计分析、安全防护或者权限验证等场景。标题提及的是一段ASP(Active Server Pages)代码,用于判断...
在HTTP协议中,当用户从一个页面跳转到另一个页面时,浏览器会自动发送一个HTTP头,称为“Referer”,它包含了用户所访问页面的上一个页面的网址。这个信息对于网站分析和广告跟踪非常重要,因为它帮助服务器了解...
通常,服务器通过检查HTTP请求头中的Referer字段来实现防盗链。Referer字段包含了用户访问页面的上一个页面的地址,网站据此判断用户是否直接通过链接访问或通过其他网站间接访问。如果发现请求不是直接来源于本网站...