什么是防盗链设置中的空Referer

设置防盗链时候指明和不指明空Referer的差别及实现后的效果?

什么是Referer?

这里的 Referer 指的是HTTP头部的一个字段,也称为HTTP来源地址(HTTP Referer)。用来表示从哪儿链接到眼下的网页。採用的格式是URL。

换句话说,借着 HTTP Referer 头部网页能够检查訪客从哪里而来。这也常被用来对付伪造的跨站点请求。

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

比方,您假设点击以下资料来源后面*的网址链接。那么浏览器会产生一个送到*的Webserver的HTTP请求,该请求中则会包括一个Referer字段(即本页面的地址):http://kb.qiniu.com/52pw6cde

资料来源:http://zh.wikipedia.org/wiki/HTTP參照位址

什么是空Referer,什么时候会出现空Referer?

首先,我们对空Referer的定义为。Referer 头部的内容为空,或者,一个HTTP请求中根本不包括Referer头部。

那么什么时候HTTP请求会不包括Referer字段呢?依据Referer的定义,它的作用是指示一个请求是从哪里链接过来,那么当一个请求并非由链接触发产生的。那么自然也就不须要指定这个请求的链接来源。

比方,直接在浏览器的地址栏中输入一个资源的URL地址。那么这样的请求是不会包括Referer字段的,由于这是一个“凭空产生”的HTTP请求,并非从一个地方链接过去的。

那么在防盗链设置中,同意空Referer和不同意空Referer有什么差别?

在防盗链的白名单设置中,假设指名白名单中包括空的Referer,那么通过浏览器地址栏直接訪问该资源URL是能够訪问到的;

但假设不指名须要包括空的Referer,那么通过浏览器直接訪问也是被禁止的。

上一篇:php笔记05:http协议中防盗链技术


下一篇:基于FreeBSD 64位内核的kFreeBSD无法在Virtualbox下安装