パッケージ org.opengion.hayabusa.filter

# クラス URLCheckFilter

java.lang.Object
org.opengion.hayabusa.filter.URLCheckFilter

すべての実装されたインタフェース:
  `Filter`

public final class URLCheckFilter extends Object implements Filter
URLCheckFilter は、Filter インターフェースを継承した URLチェッククラスです。 web.xml で filter 設定することにより、該当のリソースに対して、og:linkタグで、 useURLCheck="true"が指定されたリンクURL以外を拒否することができます。 また、og:linkタグを経由した場合でも、リンクの有効期限を設定することで、 リンクURLの漏洩に対しても、一定時間の経過を持って、アクセスを拒否することができます。 また、リンク時にユーザー情報も埋め込んでいますので(初期値は、ログインユーザー)、 リンクアドレスが他のユーザーに知られた場合でも、アクセスを拒否することができます。 システムリソースの「URL_CHECK_CRYPT」で暗号復号化のキーを指定可能です。 指定しない場合はデフォルトのキーが利用されます。 キーの形式はHybsCryptographyに従います。 フィルターに対してweb.xml でパラメータを設定します。 ・filename :停止時メッセージ表示ファイル名 ・ignoreURL:暗号化されたURLのうち空白に置き換える接頭文字列を指定します。 外部からアクセスしたURLがロードバランサで内部向けURLに変換されてチェックが動作しないような場合に 利用します。https://wwwX.のように指定します。通常は設定しません。 ・debug :標準出力に状況を表示します(true/false) 5.10.18.0 (2019/11/29) ・ommitURL :正規表現で、URLチェックを行わないパターンを記載します 5.10.18.0 (2019/11/29) ・ommitReferer:ドメイン(ホスト名)を指定すると、このRefererを持つものはURLチェックを行いません。 5.10.18.0 (2019/11/29) 内部の遷移はチェックを行わず、外部からのリンクのみチェックを行う場合に利用します。 ・ignoreRelative:trueにすると暗号化されたURLのうち、相対パスの箇所(../)を削除して評価します。 5.10.18.0 (2019/11/29) 【WEB-INF/web.xml】 <filter> <filter-name>URLCheckFilter</filter-name> <filter-class>org.opengion.hayabusa.filter.URLCheckFilter</filter-class> <init-param> <param-name>filename</param-name> <param-value>jsp/custom/refuseAccess.html</param-value> </init-param> </filter> <filter-mapping> <filter-name>URLCheckFilter</filter-name> <url-pattern>/jsp/*</url-pattern> </filter-mapping>

機能分類
  フィルター処理
導入されたバージョン:
  JDK5.0,

- ## コンストラクタの概要

  コンストラクタ
  コンストラクタ
  説明
  `URLCheckFilter()`
  デフォルトコンストラクター

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `void`
  `destroy()`
  フィルターの終了処理メソッドです。
  `void`
  `doFilter(ServletRequest request, ServletResponse response, FilterChain chain)`
  フィルター処理本体のメソッドです。
  `void`
  `init(FilterConfig filterConfig)`
  フィルターの初期処理メソッドです。
  `String`
  `toString()`
  内部状態を文字列で返します。

  ### クラスから継承されたメソッド java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## コンストラクタの詳細

  - ### URLCheckFilter

    public URLCheckFilter()
    デフォルトコンストラクター
    変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

- ## メソッドの詳細

  - ### doFilter

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
    フィルター処理本体のメソッドです。
    定義:
      `doFilter` インタフェース内 `Filter`
    パラメータ:
      `request` - ServletRequestオブジェクト
      `response` - ServletResponseオブジェクト
      `chain` - FilterChainオブジェクト
    例外:
      `ServletException` - サーブレット関係のエラーが発生した場合、throw されます。
      `IOException`
    変更履歴:
      6.2.0.0 (2015/02/27) new BufferedReader … を、FileUtil.getBufferedReader … に変更。, 6.3.1.0 (2015/06/28) nioを使用すると UTF-8とShuft-JISで、エラーになる。, 6.3.8.3 (2015/10/03) アクセス拒否を示すメッセージファイルの内容を取り出します。, 5.10.12.4 (2019/06/21) 日本語対応(encoding指定), 5.10.16.1 (2019/10/11) デバッグ追加

  - ### init

    public void init(FilterConfig filterConfig)
    フィルターの初期処理メソッドです。 フィルターに対してweb.xml で初期パラメータを設定します。 ・filename :停止時メッセージ表示ファイル名(初期:jsp/custom/refuseAccess.html) ・decode :URLデコードを行ってチェックするか(初期:true) ・ignoreURL :暗号化されたURLのうち空白に置き換える接頭文字列を指定します(初期:null) ・debug :URLデコードを行ってチェックするか(初期:false)
    定義:
      `init` インタフェース内 `Filter`
    パラメータ:
      `filterConfig` - FilterConfigオブジェクト
    変更履歴:
      5.4.5.0 (2102/02/28), 5.7.3.2 (2014/02/28) Tomcat8 対応。getRealPath( "/" ) の互換性のための修正。, 5.8.6.1 (2015/04/17) DMZのURL変換対応, 6.2.4.1 (2015/05/22) REAL_PATH 対応。realPath は、HybsSystem経由で、取得する。, 6.3.8.3 (2015/10/03) filenameの初期値設定。, 5.10.11.0 (2019/05/03) ommitURL,ommitReferer, 5.10.12.4 (2019/06/21) encoding, 5.10.18.1 (2019/12/09) 相対パス対応

  - ### destroy

    public void destroy()
    フィルターの終了処理メソッドです。
    定義:
      `destroy` インタフェース内 `Filter`

  - ### toString

    public String toString()
    内部状態を文字列で返します。
    オーバーライド:
      `toString` クラス内 `Object`
    戻り値:
      このクラスの文字列表示
    このﾒｿｯﾄﾞは、nullを返しません