Referer
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器基此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。
Referer的作用
1.防盗链
我在www.google.com里有一个www.baidu.com链接,那么点击这个www.baidu.com,它的header信息里就有:
Referer=http://www.google.com
那么可以利用这个来防止盗链了,比如我只允许我自己的网站访问我自己的图片服务器,那我的域名是****,那么图片服务器每次取到Referer来判断一下是不是我自己的域名****,如果是就继续访问,不是就拦截。
还有将这个http请求发给服务器后,如果服务器要求必须是某个地址或者某几个地址才能访问,而你发送的referer不符合他的要求,就会拦截或者跳转到他要求的地址,然后再通过这个地址进行访问。
2.防止恶意请求。
比如静态请求是*.html结尾的,动态请求是*.shtml,那么由此可以这么用,所有的*.shtml请求,必须 Referer 为我自己的网站。
Referer=http://www.google.com
空Referer
空Referer即,Referer 头部的内容为空,或者,一个 HTTP 请求中根本不包含 Referer 头部。根据Referer的定义,它的作用是指示一个请求是从哪里链接过来,那么当一个请求并不是由链接触发产生的,那么自然也就不需要指定这个请求的链接来源。
比如,直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含 Referer 字段的,因为这是一个“凭空产生”的 HTTP 请求,并不是从一个地方链接过去的。
允许 Referer 为空,意味着你允许比如浏览器直接访问,就是空。
上一篇: Map和List<Map>转相应的对象
推荐阅读
-
关于request.getHeader("Referer")的问题探讨
-
ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER方法探讨
-
PHP利用REFERER根居访问来地址进行页面跳转
-
百度将逐步取消referer 流量与关键词工具升级在即
-
详解php伪造Referer请求反盗链资源
-
使用php伪造referer的方法 利用referer防止图片盗链
-
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
-
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
-
PHP伪造来源HTTP_REFERER的方法实例详解
-
使用referer指令配置Nginx服务器来防止图片盗链