Http请求头信息

      HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。

Referer其实应该是英文单词Referrer,不过拼错的人太多了,所以编写标准的人也就将错就错了。

  Request.ServerVariables("HTTP_REFERER")的用法(防外连接)

下列情况是从浏览器的地址栏正常取得Request.ServerVariables("HTTP_REFERER"):

1)直接用<ahref="">

2)用Submit或<inputtype="image">提交的表单(POST或GET)

  3) 使用JAvaScript提交的表单(POST或GET)

下面我们再看看Request.ServerVariables("HTTP_REFERER")不能正常取值的情况:

1)从收藏夹链接

2)单击主页或自定义的地址

3)在浏览器中直接输地址

4)使用JavaScript的Location.href或者是Location.replace()

5)<%Response.Redirect%>

6)<%Response.AddHeader%>或者是<metehttp-equiv="refresh">转向

  7) 用XML加载地址

用途:

1、防止盗连,比如我是个下载软件的网站,在下载页面我先用referer来判断上一页面是不是自己网站,如果不是,说明有人盗连了你的下载地址。

2、电子商务网站的安全,我在提交信用卡等重要信息的页面用referer来判断上一页是不是自己的网站,如果不是,可能是黑客用自己写的一个表单,来提交,为了能跳过你上一页里的javascript的验证等目的。

相关推荐