「クロスサイトリクエストフォージェリ」の版間の差分

削除された内容 追加された内容
編集の要約なし
75行目:
よく知られた対策方法として、FormをHTTP GETする際に、[[暗号論的擬似乱数生成器|暗号論的擬似乱数]]値(いわゆる[[nonce]])を、[[Cookie]]値およびformのhidden値として発行し、HTTP POST時にその両者の値の同一性を検証するという方法がある(偽造を防ぐため、どちらかの値は暗号論的に安全なハッシュ関数を通しておく)。外部サイトの作成者はこれらの値を偽造することができないため、不正なPOSTはすべてサーバ側で検出できる。現代的なHTML Form生成用ライブラリの多くは、この機能をあらかじめ備えている。
 
より安易な方法として、[[HTTPリファラ]] (ReferrerReferer) を用いて対策することもできる。CSRFは外部のドメインからのHTTPリクエストであるため、HTTPのRefererを取得し照合することによって外部サイトからの不正なPOSTを判別できる。第三者のサイトから、Refererを偽造したPOSTを送信させることは不可能であるため、Referer値をチェックすることで不正な送信を検出できる。ただしHTTPリクエストの送信者自身がReferrerRefererを偽造することは容易であるため、ReferrerReferer照合はCSRFの対策とはなっても、不正なセッションが作成されることへの対策にはならない点に注意が必要である。また、リファラはブラウザの設定で容易に非送信にすることができる。リファラを非送信に設定した利用者は正規のサイトから手続きを行っても不正としてはじかれてしまうため、この対策方法の導入には検討が必要である。
 
== 「ぼくはまちちゃん」 騒動==