V−30
Webアプリケーションに対する攻撃の1つに、クロスサイトリクエストフォージェリ (CSRF) がある。これは、別のサイトに用意したコンテンツ上の罠のリンクを踏ませること等をきっかけとして、インターネットショッピングの最終決済や退会等Webアプリケーションの重要な処理を呼び出すようユーザを誘導する攻撃である。この攻撃への対策として、最も適切なものはどれか。
@ HTMLを出力する際に、要素や属性値を表現するときに使われる特殊文字を、エスケープする。
A SQL文を組み立てる際に、プレースホルダを用いる。
B 他者が推定困難なランダム値 (トークン) をhiddenフィールドとして埋め込んでおき、フォームデータを処理する際に、フォームデータ内にその値が含まれていることを確認する。
C 別のファイルを開く際に与えるパラメータについて、文字種を英数字のみ等の安全なものに限定する。
D ユーザの認証に成功した時点で新しいセッションIDを発行し、それまでのセッションIDを無効にする。