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

削除された内容 追加された内容
Wanson (会話 | 投稿記録)
編集の要約なし
74行目:
フォームを受け付けるWebサイト管理者(および情報機器設定用ウェブインタフェースを用意しているあらゆる情報機器のメーカー)は、以下のような対策を施さなければならない。
 
現代的な対策方法の1つとして、FormをHTTP GETする際に、[[暗号論的擬似乱数生成器|暗号論的擬似乱数]]値(いわゆるnonce)を、[[Cookie]]値<!--しばしば改ざん防止のために[[メッセージ認証コード]]も付けられる)-->およびformのhidden値として発行し、HTTP POST時にその両者の値の同一性を検証するという方法がある。外部サイトの作成者はこれらの値を偽造することができないため、不正なPOSTはすべてサーバ側で遮断される。現代的なHTML Form生成用ライブラリは、この仕組みの実現を支援する機能を備えている。
 
[[HTTPリファラ]] (Referer) を用いて対策することもできる。CSRFは外部formからのHTTPリクエストであるため、HTTPのRefererを取得し照合することによって外部サイトからの不正なPOSTを判別することができる。第三者のサイトから、Refererを偽造したPOSTを送信させることは不可能であるため、Referer値をチェックすることで対策することが出来る。