- ベストアンサー
ワンタイムトークンとログインについて
- ワンタイムトークンの使いどころについて教えてください。
- ログイン後のセッション画面遷移でのワンタイムトークンの必要性について教えてください。
- フォーム入力時のワンタイムトークン処理について教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
いわゆるCSRF(クロスサイトリクエストフォージェリ)対策のことをおっしゃっているのだと思います。 だとすれば、対策すべきはデータを確定させるアクション部分でしょう。 ショッピングサイトであれば、「商品購入」ボタンがあるフォームで、ワンタイムトークンを送信します。 これによって、ログイン状態で、商品購入フォームを偽装したリクエストを投げさせられた場合の対策になります。 それ以外の場合は、偽装リクエストをさせられたとしても、ベージ遷移するか、404になるだけで、データに影響はありませんよね。 質問の答えとしては、CSRF理解してるとすると、re999さんの認識で合っていると思います。
その他の回答 (2)
- 1minn
- ベストアンサー率57% (52/90)
1です xkenxさんの回答を見てちょっと気になったので。 もし質問者さんの意図とはずれてたらごめんなさい (CSRF対策の話じゃなかったらすみません) なんらかの方法でセッションキーが盗まれたときの対策になるわけですから、もしECサイトのような数画面の遷移が必要で、その間様々な情報を保持しているのなら、確定するアクションだけではなく、セッションにデータを保持してる間は常に必要になります。 もしECサイトであれば、個人情報などは、確定するアクションの数画面前に入力しますよね? ショップ側の商品の情報など、初めから公開しているものであれば問題はありませんが、盗まれては困るデータを持つ場合は、その段階から対策は必要です。 ECサイト以外でも、ログイン時に個人情報などををセッションで保持した場合、同じような事が言えます。 また、ワンタイムトークンは、予期せぬ画面遷移の対応も一緒に行う事が出来ますので、本来セッションが切れていれば居てはいけないページでの操作を弾く事も出来るようになります。 ワンタイムトークンだけでは万全とは言えませえんが、有効な対策です。 実装に大した工数もかからないので、入れといて損はないですよ。
お礼
回答ありがとうございましたー
- 1minn
- ベストアンサー率57% (52/90)
> 延々とセッションでログイン処理を引っ張るだけの画面遷移のとき 理解力が乏しいので、いまいちよくわからないのですが・・・ 「その時にログインしてなきゃおかしい状態」であれば、有効じゃないですか? ホントはログインしてないのにそのページにいちゃいけないとか。
お礼
回答ありがとうございました。 >ログイン状態で、商品購入フォームを偽装したリクエストを投げさせられた場合の対策になります 参考になりましたー