今天在写filter的时候,要做一个防止用户手动修改URL访问非权限页面的验证。在网上搜索了下,
发现可以通过:request.getHeader("referer"); // js的话:javascript:document.referrer来防止,
如果返回值为null的话,说明是手动修改url访问的,然后进而通过后台,判断是否该登陆用户具
有访问权限,如果有,放行,否则,跳转到错误页面。
原理:referer只有从别的页面点击连接来到这页的才会有内容,否则为null。
request.getHeader("referer")的作用:
①防止盗连,比如我是个下载软件的网站,在下载页面我先用referer来判断上一页面是不是自己网站,如果不是,说明有人盗连了你的下载地址。
②电子商务网站的安全,我在提交信用卡等重要信息的页面用referer来判断上一页是不是自己的网站,如果不是,可能是黑客用自己写的一个表单,来提交,为了能跳过你上一页里的javascript的验证等目的。