转自:https://www.sojson.com/blog/58.html
什么是Referer?
Referer 是 HTTP 请求header
的一部分,当浏览器(或者模拟浏览器行为)向web
服务器发送请求的时候,头信息里有包含 Referer 。比如我在www.sojson.com
里有一个www.baidu.com
链接,那么点击这个www.baidu.com
,它的header
信息里就有:Referer=https://www.sojson.com 由此可以看出来它就是表示一个来源。
这里有一个小问题要说明下。Referer 的正确英语拼法是referrer
。由于早期HTTP规范的拼写错误,为了保持向后兼容就将错就错了。其它网络技术的规范企图修正此问题,使用正确拼法,所以目前拼法不统一。还有它第一个字母是大写。
Referer的作用?
1.防盗链。
我在www.sojson.com里有一个www.baidu.com
链接,那么点击这个www.baidu.com
,它的header信息里就有:Referer=https://www.sojson.com。那么可以利用这个来防止盗链了,比如我只允许我自己的网站访问我自己的图片服务器,那我的域名是www.sojson.com
,那么图片服务器每次取到Referer来判断一下是不是我自己的域名www.sojson.com
,如果是就继续访问,不是就拦截。
2.防止恶意请求。
比如我的SOJSON网站上,静态请求是*.html
结尾的,动态请求是*.shtml
,那么由此可以这么用,所有的*.shtml
请求,必须 Referer 为我自己的网站。Referer=https://www.sojson.com
空Referer是怎么回事?什么情况下会出现Referer?
首先,我们对空Referer 的定义为,Referer 头部的内容为空,或者,一个 HTTP 请求中根本不包含 Referer 头部。
那么什么时候 HTTP 请求会不包含 Referer 字段呢?根据Referer的定义,它的作用是指示一个请求是从哪里链接过来,那么当一个请求并不是由链接触发产生的,那么自然也就不需要指定这个请求的链接来源。
比如,直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含 Referer 字段的,因为这是一个“凭空产生”的 HTTP 请求,并不是从一个地方链接过去的。
当然。你不能完全依赖 Referer 来做一些事情,因为这个最容易伪造来源。
每个语言,都可以,比如 Java 来模拟一个 Httpclient 请求。并且伪造来源。
相关推荐
这些测试可能包括各种正常和异常的"Referer"头,以确保代码能够处理各种情况。 总的来说,"request.getHeader("referer")"在Java Web开发中是实现防盗链功能的重要工具,通过检查来源URL,服务器可以有效控制资源的...
HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议...以上是HTTP请求头的基本概念和常见用法,它们在构建和优化Web应用时起着至关重要的作用。了解和正确使用这些头字段,可以提高网络通信的效率和安全性。
HTTP Referer是HTTP协议中的一个重要概念,主要用在Web服务器的请求头(header)中。当用户点击超链接从一个页面跳转到另一个页面时,浏览器会向目标服务器发送HTTP请求。在这个请求中,会包含一个名为“Referer”的...
在本例中,我们关注的是一个特定的BHO插件,它的主要功能是修改HTTP请求头中的`Referer`字段。 `Referer`头字段是HTTP协议中的一部分,它包含了用户从哪个URL点击链接来到当前页面的信息。这对于网站分析用户来源、...
2. **跨域策略**:在跨源请求中,Referer头部只包含源的协议、主机名和端口,不包含路径、查询参数和片段标识符。 这种策略在保护用户隐私的同时,尽可能减少了对源站点的透明度,降低了跨站信息泄漏的风险,但又...
消息头在HTTP请求和响应中扮演着重要的角色,它们用于传递各种上下文信息,使得服务器和客户端能够更准确地理解彼此的需求和能力。 - **通用信息头**:适用于所有HTTP消息,如`Date`、`Cache-Control`等。 - **请求...
在Web应用中,HTTP-REFERER字段通常用于记录客户端请求来源页面的信息,这在许多方面都有着重要的作用,例如统计分析、防盗链等。然而,由于其可伪造性,使得HTTP-REFERER字段变得越来越不可靠。本文将详细介绍如何...
图片请求通常也是通过GET方法进行的,但在请求头中会包含特定的信息,如`Referer`字段,它指示了图片请求的来源页面,这对于防盗链有重要意义。在给定文件中,可以看到一个图片请求示例: **GET/images/007.pngHTTP/...
HTTP头信息主要分为两部分:请求头(Request Headers)和响应头(Response Headers)。每一部分都由多个字段组成,每个字段都有特定的功能和用途。 ##### 请求头字段解析 1. **Cache-Control** - **定义**:用于...
### HTTP头域详细解释 HTTP协议作为互联网上应用最为广泛的一种网络协议,其核心功能在于规范客户端...理解和掌握这些头域的含义与用法,对于开发人员优化网络应用性能、增强用户体验以及保障数据安全都具有重要意义。
PHP中伪造HTTP_REFERER的方法是一种技术手段,可以使用户在请求服务器时,修改HTTP请求中的Referer字段,以伪装成其他网站的来源。由于HTTP_REFERER通常用于网站安全验证,攻击者可以利用伪造的HTTP_REFERER绕过安全...
通过检查HTTP头部的referer字段,AD设备可以拦截来自非授权网站的请求,从而防止非法盗链。这种方式比在每台服务器上单独配置更为便捷且易于管理。 在实施HTTP头部改写时,需要注意以下几点: 1. 请求改写发生在AD...
以上两种方式都通过设置请求头中的Referer字段来实现伪造的目的。 #### 防止伪造Referer的方法 为了防止HTTP-REFERER被伪造,开发者可以采取以下几种策略: 1. **使用验证码(Session)**:通过设置会话验证机制...
4. **分析请求**:用户可以查看每个请求的完整细节,包括请求头中的Cookie、Referer、User-Agent等信息,以及响应头和响应内容。 5. **保存和导出**:抓包结果可以保存为日志文件,方便后期分析或分享。 HTTP请求抓...
在这个请求中,`GET`方法用于获取指定的资源(`somedata.exe`),`Host`指明了请求的服务器,`Accept`表示接受任何类型的数据,`Pragma: no-cache`和`Cache-Control: no-cache`共同作用于禁用缓存,`Referer`表明了...
Tomcat访问日志是记录服务器接收到的HTTP请求的重要工具,对于监控和分析服务器性能、排查问题具有重要意义。本文将详细介绍如何配置Tomcat访问日志以及如何记录POST请求参数。 首先,Tomcat访问日志的配置通常在`...
2. 类型:常见的HTTP请求头包括但不限于`Host`(指定服务器的域名或IP地址)、`Connection`(控制连接的持续时间)、`Cookie`(传递用户状态信息)和`Referer`(显示请求来源页面)等。 3. 作用:这些头部信息对于...
1. **HTTP头部检查**:通过检查HTTP请求头中的`Referer`字段,判断请求是否来自预期的站点。如果`Referer`头没有设置或者指向了其他网站,IIS可以拒绝该请求。 2. **IP黑名单/白名单**:将特定的IP地址或者IP段列入...
在HTTP交互过程中,请求头和响应头是两个重要的部分。HTTPAnalyzer能够解析这些头信息,展示如Cookie、Referer、User-Agent等字段,这些信息对于理解用户行为、追踪会话和解决跨域问题至关重要。同时,它还能显示...