https://en.wikipedia.org/wiki/HTTP_referer

https://zh.wikipedia.org/wiki/HTTP参照位址

inline linking, offsite image grabs

高并发 反盗链

Most web servers maintain logs of all traffic, and record the HTTP referrer sent by the web browser for each request. This raises a number of privacy concerns, and as a result, a number of systems to prevent web servers being sent the real referring URL have been developed. These systems work either by blanking the referrer field or by replacing it with inaccurate data. Generally, Internet-security suites blank the referrer data, while web-based servers replace it with a false URL, usually their own. This raises the problem of referrer spam. The technical details of both methods are fairly consistent  – software applications act as a proxy server and manipulate the HTTP request, while web-based methods load websites within frames, causing the web browser to send a referrer URL of their website address. Some web browsers give their users the option to turn off referrer fields in the request header.[6]

Most web browsers do not send the referrer field when they are instructed to redirect using the "Refresh" field. This does not include some versions ofOpera and many mobile web browsers. However, this method of redirection is discouraged by the World Wide Web Consortium (W3C).[9]

If a website is accessed from a HTTP Secure (HTTPS) connection and a link points to anywhere except another secure location, then the referrer field is not sent.[10]

The HTML5 standard added support for the attribute/value rel="noreferrer", which instructs the user agent to not send a referrer.[11]

Another referrer hiding method is to convert the original link URL to a Data URI scheme-based URL containing small HTML page with a meta refresh to the original URL. When the user is redirected from the data: page, the original referrer is hidden. The first public implementation of this method is theDarefer app for ownCloud.[citation needed]

Upcoming Content Security Policy standard version 1.1 introduces a new referrer directive that allows more control over the browser's behavior in regards to the referrer header. Specifically it allows the webmaster to instruct the browser to block referrer at all, reveal it only when moving with the same origin etc.[12]

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

许多网站会将引用地址记录以便追踪用户的动态或进行统计,大部分分析软件也都会处理这个信息。但因引用地址信息可能会带来隐私权问题,不少网页浏览器允许用户设置不要提交这个信息,有些代理服务器防火墙也会将引用地址信息过滤掉,以避免外部获知非公开的网络地址。缺少引用地址信息有可能会造成某些使用问题:某些服务器会因为缺少正确的引用地址信息而进行阻挡,以避免未经授权的图片引用(图像防盗链)或是其他对服务器有影响的行为。针对这样的阻挡,有些软件还提供了针对特定网站提交假来源地址的功能(反防盗链)。

referrer privacy hotlinking的更多相关文章

  1. Mac Mail PGP Setup 如何在苹果电脑上设置安全邮件 良好隐私密码法(英语:Pretty Good Privacy,缩写为PGP)

    背景知识 良好隐私密码法(英语:Pretty Good Privacy,缩写为PGP),一套用于讯息加密.验证的应用程序,采用IDEA的散列算法作为加密与验证之用. 关联文献:https://en.w ...

  2. .NET微信模拟登录及{base_resp:{ret:-4,err_msg:nvalid referrer}}的解决办法

    12年的时候写了些关于微信开发的内容,当时看好这个东西,可惜当时腾讯开放的权限太少,之后的一年多时间没有太关注了. 现在又要重新开始微信开发的阵容了,微信只是个入口,微网站才是趋势. 我是个水货,所以 ...

  3. https网站跳转到http网站时,referrer获取不到的问题

    工作中,有一个活动列表页A,要链接到具体的活动详情页B,A页面放在https网站上,B页面放在http网站上,从https跳转到http网站时,为了用户隐私安全信息,浏览器默认不传送referrer ...

  4. document.referrer 特性

    最近需要用到document.referrer,但是在测试的时候,总是获取为空,百思不得其解. 于是发动百度,看了大量的文章没有一个说到点子上是为什么,后来偶然看到document.referrer ...

  5. Privacy Policy

    MINE Privacy Policy This unit values your privacy. You are using our service, we may collect and use ...

  6. PEM (Privacy Enhanced Mail) Encoding

    PEM (Privacy Enhanced Mail) Encoding The moPEM (Privacy Enhanced Mail) Encoding The most commonly us ...

  7. 关于document.referrer的使用需要注意

    项目使用到一个场景,ajax请求返回无权限,跳回登录页面,登录后自动返回之前的浏览页,跳转由前端处理,于是想到document.referrer,但是对可靠性不确定,特意搜索了一下相关资料,大致整理如 ...

  8. js中的referrer返回上一页使用介绍

    js中的referrer的用法举例. js完整代码:  <script language="javascript">  var refer=document.refer ...

  9. Automotive Security的一些资料和心得(5):Privacy

    1. Introduction 1.1 "Customers own their data and we can be no more than the trsted stewards of ...

随机推荐

  1. passport登录问题:passport.use 方法没有被调用

    写passport登录验证时,无论如何passport.use 方法都没有被调用,最后在同事的帮助下,才找到问题: 我是用form提交登陆数据的, input type:"text" ...

  2. MySQL on Linux 部署手册

    1. 背景 MySQL为开源数据库,因此可以基于源码实现安装.基于源码安装有更多的灵活性.也就是说我们可以针对自己的硬件平台选用合适的编译器来优化编译后的二进制代码,根据不同的软件平台环境调整相关的编 ...

  3. 使用 requests 配置代理服务

    (1) 如果我们一直用同一个IP去请求同一个网站上的网页,久了之后可能会被该网站服务器屏蔽,因此我们可以使用代理IP来发起请求,代理实际上指的就是代理服务器(2) 当我们使用代理IP发起请求时,服务器 ...

  4. iOS - UITextView在调用textViewDidChange方法,九宫格相关中文输入的问题

    问题一 iOS textView在调用 UITextViewDelegate 的 textViewDidChange方法,九宫格相关中文输入的问题 有时候,需要在textViewDidChange处理 ...

  5. jQuery给动态添加生成的元素绑定事件的方法

    <div id="testdiv">   <ul></ul> </div> 需要给<ul>里面动态添加的<li&g ...

  6. 基于WordNet的英文同义词、近义词相似度评估及代码实现

    源码地址:https://github.com/XBWer/WordSimilarity 1.确定要解决的问题及意义 在基于代码片段的分类过程中,由于程序员对数据变量名的选取可能具有一定的规范性,在某 ...

  7. Delphi中ClientDataSet的用法小结

    Delphi中ClientDataSet的用法小结 TClientDataSet控件继承自TDataSet,其数据存储文件格式扩展名为 .cds,是基于文件型数据存储和操作的控件.该控件封装了对数据进 ...

  8. Delphi Code Editor 之 几个特性

    Delphi Code Editor有几个特性在编写大规模代码时非常有用.下面分别进行介绍: 1.Code Templates(代码模板) 使用代码模板可把任意预定义代码(或正文)插入到单元文件中.当 ...

  9. 怎么修改mysql主键(id)的值为自增

    alter table tb_name modify id int auto_increment primary key

  10. 原生js--跨域消息传递

    跨域消息传递:postMessage() 1.兼容性问题:IE8及其以上浏览器和其它主流浏览器都已经支持 2.使用范围:跨iframe.跨页面.跨域 3.使用方法: 发送消息:postMessage( ...