今日は、Java Anti-Theft Linksについてお話します。それについてもっと話すことは役に立たず、アプリケーションケースを直接使用します。
ここで使用されるツールは、意思決定システム(主に許可制御に使用されるWebフロントエンドディスプレイシステム)を備えたレポートソフトウェアFinerePortで、Java Anti-Theftリンクを使用してページ許可を達成できます。
ブラウザにレポートURLを直接入力すると、ヘッダーファイルは空です。したがって、アクセス時に2つの判断を下すことができます。ヘッダーファイルが空であるかどうか、どのページにジャンプするか、一致しない場合は、エラーページにジャンプするだけです。
参照者とは何ですか?
ここの参照は、HTTPソースアドレス(HTTP参照)とも呼ばれるHTTPヘッダーのフィールドを指します。これは、現在のWebページへのリンクを示すために使用され、形式はURLです。言い換えれば、HTTP参照ヘッダーのWebページは、訪問者がどこから来たのかを確認できます。これは、偽のクロスサイトリクエストに対処するためによく使用されます。
空の参照とは何ですか、そして空の参照はいつ表示されますか?
最初に、空の参照者を参照ヘッダーのコンテンツが空であるか、HTTP要求には参考文献ヘッダーがまったく含まれていないように定義します。
では、HTTP要求にはいつ参照フィールドが含まれないのでしょうか?参考文献の定義によれば、その機能は、リクエストがリンクされている場所を示すことです。リンクの連絡先によってリクエストが生成されない場合、当然、リクエストのリンクソースを指定する必要はありません。
たとえば、ブラウザのアドレスバーにリソースのURLアドレスを直接入力すると、このリクエストには参照フィールドは含まれません。
盗難防止チェーン設定では、空の参照を許可することと空の参照を許可しないこととの違いは何ですか?
盗難防止チェーンでは、空の参照が許可されている場合、ブラウザアドレスバーを介してリソースURLに直接アクセスすることができます。
ただし、空の参照が許可されていない場合、ブラウザからの直接アクセスも禁止されています。
操作手順
1.クラスファイルを追加します
クラスファイルを書き込み、ヘッダーファイルが空であるかどうかを判断します。コードは次のとおりです。
パッケージcom.fr.test; import java.io.ioexception; import java.io.printwriter; import javax.servlet.filter; import javax.servlet.filterchain; import javax.servlet.filterconfig;インポートjavax.servlet.servletexception; javax.servlet.servletResponse;インポートjavax.servlet.http.httpservletrequest;インポートjavax.servlet.http.httpservletresponse; import javax.servlet.servlet.http.httpsession;公開クラスのdodo emplements filter {public destre boid bed eauto ea autogen(){) dofilter(servletRequest request、servletResponse応答、フィルターチェーンチェーン)IoException、servletexception {httpservletrequest req =(httpservletrequest)request; httpservletResponse resp =(httpservletResponse)応答; string referer = req.getheader( "referer"); //以下のIPアドレスは通常のページリクエストですif(null!= referer &&(referer.trim()。startswith( "http:// localhost:8033")|| referer.trim()。リクエスト「+参照者); Chain.dofilter(req、rep); //ページのリクエストが正常でない場合にジャンプすることです} else {system.out.println( "Chain Steal"+Referer); req.getRequestDispatcher( "/ldaplogin.jsp")。 }} public void init(filterconfig arg0)servletexception {// dodo auto-enerated method stub}}}dodo.javaをクラスファイルにコンパイルし、%tomcat_home%/webreport/web-inf/classs/com/fr/testディレクトリに配置します。
2。web.xmlファイルを変更します
%tomcat_home%/webapps/webreport/web-infの下でWeb.xmlファイルを開き、フィルターフィルターを構成し、ReportServerが表示されたらフィルターを実行します。コードは次のとおりです。
<filter> <filter-name> authfilter </filter-name> <filter-class> com.fr.test.dodo </filter-class> </filter> <filter-name> authfilter </filter-name> <url-pattern>/reporterver </url-pattern> </filter-mapping>
2つのステップで実行できます。盗まれたリンクの場合、上記のLdaploginエラーページにジャンプします。ここにはLDaploignページはありませんので、404に直接ジャンプします。データ許可を実装する場合は、シングルサインオンまたはセッションインジェクションを使用できます。
有効性テスト
2つのHTMLファイルを準備します
hello.htmlが正しいURLであると仮定します
<html> <body> <p> test </p> <a href = "http:// localhost:8033/webreport/reporter erver?reportlet = demo%2fnewchart%2fothers%2flogarithmic_axis.cpt&op = write"> write "> body theft chain </body> <html>
Steel.htmlがリンクを盗むためのURLであると仮定します
<html> <body> <p>テスト、間違ったリンクアドレス</p> <a href = "http:// localhost:8033/webreport/reporterver?reportlet = demo%2fnewchart%2fothers%2flogarithmic_axis.cpt&op = write"
状況1
hello.htmlをジャンプすると、ジャンプリンクが正しいです。つまり、参照者は空で正しいものではありません
状況2
Steel.htmlをジャンプして、ジャンプリンクは間違っています。つまり、参照は空であり、エラーがありません
状況3
URLアドレスへの直接アクセス、つまり、参照者は空です
レポートでのJava盗難防止チェーンの適用(推奨)の上記の例は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。