3.5.1 リファラーのフィルタリング

ここでは、リファラーのフィルタリングプロセスについて説明します。

  1. LiveCycle サーバーが、呼び出しに使用される HTTP メソッドを確認します。

    1. POST の場合、LiveCycle サーバーはリファラーヘッダーを確認します。

    2. GET の場合、LiveCycle サーバーはリファラーをチェックしません。ただし、CSRF_CHECK_GETS が true に設定されている場合は除きます。この場合、LiveCycle サーバーはリファラーヘッダーを確認します。CSRF_CHECK_GETS は、アプリケーションの web.xml ファイル内に設定されます。

  2. LiveCycle サーバーが、要求された URI がホワイトリストに登録されているかどうかを確認します。

    1. URI がホワイトリストに登録されている場合、サーバーは要求を受け入れます。

    2. 要求された URI がホワイトリストに登録されていない場合、サーバーは要求のリファラーを取得します。

  3. 要求内にリファラーがある場合、サーバーはそれが許可されているリファラーかどうかを確認します。許可されている場合は、リファラーの例外を確認します。

    1. 例外の場合、要求はブロックされます。

    2. 例外でない場合、要求はパスします。

  4. 要求内にリファラーがない場合、サーバーはヌルリファラーが許可されているかどうかを確認します。

    1. ヌルリファラーが許可されている場合、要求はパスします。

    2. ヌルリファラーが許可されていない場合、サーバーは要求された URI がヌルリファラーの例外かどうかを確認し、適宜要求を処理します。

次の図は、要求がサーバーに送信されたときに LiveCycle が実行する CSRF 確認を表しています。