為了防止盜鏈,網站的某些頁面阻止了來自于非本站的鏈接進入,為了規避這個問題,可以通過如下方式實現:
1、在需要跳轉的js中使用如下語句:
var arg = '/u003cscrJavascript: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
新聞熱點
疑難解答