JavaはウェブサイトをスキップしたReferer検証を実現します.

943 ワード

盗難防止のために、サイトのいくつかのページでは、非当駅からのアクセスを停止しています.この問題を回避するために、次のように実現できます.
1、ジャンプが必要なjsには以下のような文言が使われています.
var arg = '\u003cscript\u003elocation.replace("'+searchUrl+'")\u003c/script\u003e'; 

window.open('javascript:window.name;', arg);  

テストにより、上記の方法はChromeで有効となりますが、IE及びFireFoxでは機能しません.より多くのブラウザをサポートするために、この基礎の上で適切に修正することができます.
2、tomcatにhttpsの設定を追加し、システムにServletを追加し、第一歩のsearch UrlアドレスをServletのアクセスアドレスに設定し、このアドレスがhttpsアドレスであることを確認し、ServletでsendRedirect方式でジャンプする.このようにした目的は、対象サイトに届いたリクエストをhttpsから、httpsのreferer情報は転送されないということです.
以上の2段階の操作を経て、IEは正常にこのページにアクセスできましたが、FireFoxはまだできません.httpsのアドレスをrefererに置いていませんでしたが、httpsのその住所を中に置いてくださいと要求します.FireFoxのこのような場合には、about:configにより、構成項目network.websockett.allowInsecureFroom HTTPSの値をfalse仕様に変更することができる.
以上の設定で、対象局のRefererブロックをスキップできます.
  
参考URL:
  http://segmentfault.com/q/1010000000123441
  http://evilcos.me/?p=46