HTTP referer说明

2024-05-30 23:08
文章标签 http 说明 referer

本文主要是介绍HTTP referer说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、说明

对Application_BeginRequest断点调试结果说明

protected void Application_BeginRequest(object sender, EventArgs e)
{string absolutePath = Request.Url.AbsolutePath;Uri referer = Request.UrlReferrer;
}

1.从浏览器直接输入地址请求 referer为空

2.对网站第一次请求或强制刷新,浏览器会获取网站根目录的favicon.ico 文件

3.对于网页的图片、样式、js等请求时referer中会带有当前静态内容所属的页面地址

4.如果是从外网页面点击来的请求也会带有外网的页面地址


二、 描述

referer, 或 HTTP referer, 是HTTP表头的一个字段,用来表示从哪儿连结到目前的网页,采用的格式是URL。换句话说,借着 referer ,目前的网页可以检查访客从哪里而来,这也常被用来对付伪造的跨网站请求。

而 dereferer 则是将 referer 资讯剥离,所以网站将无法识别访客从何而来。

Referer的正确英语拼法是referrer。由于早期HTTP规范的拼写错误,为了保持向后兼容就将错就错了。其它网络技术的规范企图修正此问题,使用正确拼法,所以目前拼法不统一。

当访客访问网页时,referer 或 referring page 是前一个网页的URL。如果是图片的话,通常指的就是图片所在的网页。在网页浏览器送往网页服务器的时候,referer 就被包含在HTTP请求方法中。

许多网站都会把 referers 纪录起来以便追踪使用者的动态,大部分的分析软件都会处理这个资讯。但是 referer 资讯可能会有隐私权的问题,部份网页浏览器允许使用者不要送出这个资讯。有些代理服务器和防火墙也 会把 referer 资讯筛选掉,以避免让外部知道非公开的网站位置。缺少了 referer 资讯有可能会造成某些问题:某些服务器会因为缺少了正确的 referer 资讯而进行阻挡,以避免未经授权的图片使用(盗图)或是其他对服务器有影响的行为。针对这样的阻挡,有些代理服务器软件则提供了针对特定网站送出假 referer 资讯的功能的功能。


二、

1 Referer可以记录访问的来源,统计访问量,可以用来防盗链。
2 客户端用js不能篡改Referer,用一些插件什么的可以达到伪造的目的。
3 可以使用Fiddler修改Referer。
选择 fiddler窗口的rules->customize rules…在打开的CustomRules.js记事本窗口中,找到如下位置  static function OnBeforeRequest(oSession: Session)  {    //  Sample Rule: Color ASPX requests in RED    //  if (oSession.uriContains(“.aspx”)) { oSession["ui-color"] = “red”; }
在这一句的后面加上    if(oSession.oRequest.headers.ExistsAndContains(“Referer”,”220.170.79.105″))    {     oSession.oRequest.headers.Remove(“Referer”);    }
4 服务器端修改Referer,通过webClient,直接设置访问可以达到修改目的。
5 其它的一些修改Referer的方式方法。参考: http://www.cnblogs.com/mx3000/archive/2007/12/17/1003239.html
利用Referer防止图片盗链
虽然Referer并不可靠,但用来防止图片盗链还是足够的,毕竟不是每个人都会修改客户端的配置。(一般只允许站内访问)
参考: http://blog.csdn.net/21aspnet/article/details/6197314


这篇关于HTTP referer说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1017042

相关文章

Before和BeforeClass的区别及说明

《Before和BeforeClass的区别及说明》:本文主要介绍Before和BeforeClass的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Before和BeforeClass的区别一个简单的例子当运行这个测试类时总结Before和Befor

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Spring中管理bean对象的方式(专业级说明)

《Spring中管理bean对象的方式(专业级说明)》在Spring框架中,Bean的管理是核心功能,主要通过IoC(控制反转)容器实现,下面给大家介绍Spring中管理bean对象的方式,感兴趣的朋... 目录1.Bean的声明与注册1.1 基于XML配置1.2 基于注解(主流方式)1.3 基于Java

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos

SpringBoot中HTTP连接池的配置与优化

《SpringBoot中HTTP连接池的配置与优化》这篇文章主要为大家详细介绍了SpringBoot中HTTP连接池的配置与优化的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、HTTP连接池的核心价值二、Spring Boot集成方案方案1:Apache HttpCl

Spring Boot Controller处理HTTP请求体的方法

《SpringBootController处理HTTP请求体的方法》SpringBoot提供了强大的机制来处理不同Content-Type​的HTTP请求体,这主要依赖于HttpMessageCo... 目录一、核心机制:HttpMessageConverter​二、按Content-Type​处理详解1.

idea报错java: 非法字符: ‘\ufeff‘的解决步骤以及说明

《idea报错java:非法字符:‘ufeff‘的解决步骤以及说明》:本文主要介绍idea报错java:非法字符:ufeff的解决步骤以及说明,文章详细解释了为什么在Java中会出现uf... 目录BOM是什么?1. BOM的作用2. 为什么会出现 \ufeff 错误?3. 如何解决 \ufeff 问题?最

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优