jsp和js获取来源页地址和ip原理

来源:互联网 发布:js textarea 不可编辑 编辑:程序博客网 时间:2024/05/21 09:44

我们写代码时经常会想记录访问页的来源页地址和用户的访问IP,就会用到以下的内容。
    js获取来源页地址方法:
    var url = document.referrer;
    document.write(url);
    jsp获取来源页地址方法:
    String url = request.getHeader(”Referer”);
    System.out.println(url);
    对比两个方法:
    1.js里是”referrer”,jsp里是”referer”,前者比后者多一个”r”;
    2.前者如直接输入网址,则显示为空,后者显示null;
    那么获取网页的访问来源又有什么用途呢?
    1、是可以跟踪记录从哪些网站、网页上访问了自己的站点或者页面;
    2、是可以记住刚才访问的页面,可以跳转回去;
    3、还有一个很重要的用途,就是防盗链;
    比如:一些网站的资源如图片、视频等,可能被链到其它网站上,或者黑客频繁的访问某些资源,把网站搞瘫痪,于是一些网站用了防盗链技术。一种简单的防盗链方法就是获取访问的url,比对是否是自己的url或者经授权的url,不符合条件的就不让访问,或者显示一些提示信息。
    不过我们访问的url是很容易被伪造的,以后再谈如何伪造来源地址和访伪造的方法。本文重点还是讲如何获取。
    jsp获取访问者真实IP地址
    在jsp里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了 Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或192.168.1.110,而并不是客户端的真实ip。转自:<a href='http://www.yuloo.com/jsjks/'>计算机培训网</a>