首页 > 代码库 > Java实现跳过网站Referer校验
Java实现跳过网站Referer校验
为了防止盗链,网站的某些页面阻止了来自于非本站的链接进入,为了规避这个问题,可以通过如下方式实现:
1、在需要跳转的js中使用如下语句:
var arg = ‘\u003cscript\u003elocation.replace("‘+searchUrl+‘")\u003c/script\u003e‘; window.open(‘javascript:window.name;‘, arg);
经测试,上述的方式在Chrome中生效,但在IE及FireFox中是不起作用的,为了能够支持更多的浏览器,可以在此基础上进行适当修改。
2、为tomcat增加https配置,为系统添加一个Servlet,将第一步的searchUrl地址设置为Servlet的访问地址,并确保该地址是https地址,然后在Servlet中使用sendRedirect方式进行跳转。这样做的目的是使目标网站收到的请求来自于https的,而https的referer信息是不会传输的。
经过以上两步操作,IE已经可以正常的访问该页面了,但是FireFox还是不可以,虽然它没有将https的地址放在referer中,但是它将请求https的那个地址放在了里面,导致请求仍然被目标网站拦截。针对FireFox的这种情况,可以通过about:config将配置项network.websocket.allowInsecureFromHTTPS的值修改为false规避。
通过以上设置,即可跳过目标站点的Referer拦截。
参考网址:
http://segmentfault.com/q/1010000000123441
http://evilcos.me/?p=46
Java实现跳过网站Referer校验
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。