at posts/single.html

CSRFの防ぎ方

高木浩光@自宅の日記 - クロスサイトリクエストフォージェリ(CSRF)の正しい対策方法より。

データ変更などの重要な処理の場合、form の hidden フィールドに Cookie の セッション ID を埋め込んでおくという対策。 確かに、セッション ID は他人に知られないように作られている(はず)なので、別にワンタイムトークンを生成する必要はないんだね。

さて、Basic認証でやっている tDiary はどうするべきか。 (tDiary の場合はユーザごとに編集画面の URL が異なるので、潜在的な危険性は mixi などの集中サービス型よりも低そうだけど)

追記

フォームのパラメータとして cookie の値をやりとりするのはいやな気がするのは、Cookieが格納されるHTTPヘッダはユーザに直接見えなくて、フォームのパラメータが格納されるHTTPボディは見えるからじゃないかと推測。 どっちも同じ通信路なのにね。

関連する日記