現在Webアプリを作っていてCSRF対策を実装します。
作りとしてトークンを設定する方法なのですが、いまいちなぜその実装をするとなぜ不正リクエストを防げるのか理解できていません。
その理解の手助けをしていただきたいです。
実装といたしましては、初期表示時にHTMLにトークンをhiddenで設定し、また同じ値をサーバーサイドでsessionで管理します。
更新ボタン押下後、HTMLのトークンをサーバーサイドに渡し、sessionで管理しているトークンの値と一致していれば処理を進めて、一致していなければエラーで返します。
ただそうすることでなぜCSRF対策になっているのかわかっていません。
私の知っているのCSRFによる攻撃の事例は、「はまちゃん問題」のようにmixiで不正なURLが表示されていてそれを踏んだユーザーが日記を投稿してしまうというものです。あとは悪質なページが用意されていてそこに遷移させられるといったような。
hidden値を書き換えられた時にちゃんとエラーになる実装ではあると思うのですが、
上記の事例がなぜ防ぐ理由になるかわかりません。
もし分かる方がいらっしゃれば教えていただきたいです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/17 09:47