ここでは、リファラーのフィルタリングプロセスについて説明します。
LiveCycle サーバーが、呼び出しに使用される HTTP メソッドを確認します。
POST の場合、LiveCycle サーバーはリファラーヘッダーを確認します。
GET の場合、LiveCycle サーバーはリファラーをチェックしません。ただし、CSRF_CHECK_GETS が true に設定されている場合は除きます。この場合、LiveCycle サーバーはリファラーヘッダーを確認します。CSRF_CHECK_GETS は、アプリケーションの web.xml ファイル内に設定されます。
LiveCycle サーバーが、要求された URI がホワイトリストに登録されているかどうかを確認します。
URI がホワイトリストに登録されている場合、サーバーは要求を受け入れます。
要求された URI がホワイトリストに登録されていない場合、サーバーは要求のリファラーを取得します。
要求内にリファラーがある場合、サーバーはそれが許可されているリファラーかどうかを確認します。許可されている場合は、リファラーの例外を確認します。
例外の場合、要求はブロックされます。
例外でない場合、要求はパスします。
要求内にリファラーがない場合、サーバーはヌルリファラーが許可されているかどうかを確認します。
ヌルリファラーが許可されている場合、要求はパスします。
ヌルリファラーが許可されていない場合、サーバーは要求された URI がヌルリファラーの例外かどうかを確認し、適宜要求を処理します。
次の図は、要求がサーバーに送信されたときに LiveCycle が実行する CSRF 確認を表しています。
|
|
|