request.getHeader("referer")的作用

request.getHeader("referer")获取来访者地址。只有通过链接访问当前页的时候,才能获取上一页的地址;

否则request.getHeader("referer")的值为Null,通过window.open打开当前页或者直接输入地址,也为Null。

所以,getHeader("referer")要走http协议时才有值,也就是说要通过<a href="url">a</a>标记才能获得那个值,而通过改变location或是<a href="javascript:location='url'">a</a>都是得不到那个值的。 


若从 http://XXXX/A.JSP 上 点击 a标签 至 http://XXXX/b.jsp

b.jsp 获取 request.getHeader("referer") 返回  http://XXXX/A.JSP


那它能干什么用呢?我举两个例子:
1,防止盗连,比如我是个下载软件的网站,在下载页面我先用referer来判断上一页面是不是自己网站,如果不是,说明有人盗连了你的下载地址。
2,电子商务网站的安全,我在提交信用卡等重要信息的页面用referer来判断上一页是不是自己的网站,如果不是,可能是黑客用自己写的一个表单,来提交,为了能跳过你上一页里的javascript的验证等目的。

猜你喜欢

转载自blog.csdn.net/qq_36501591/article/details/80652009
今日推荐