1

Sinatra と Omniauth (具体的には Google oauth2) を使用して Web サイトを提供しています。Cookie に保存しても安全なデータとそうでないデータについて、多少混乱しています。

authorized => trueAuthHash にアクセス トークンが含まれていることを確認したら、Cookie にフィールドを格納するだけでよいと思います。Cookie は と を使用して保護されていRack::Sesssion::Cookieます:secret => "some-really-long-and-strong-password"。この考え方は正しいでしょうか?

さらに、誰かがサイトをハッキングしたい (つまり、実際にログインせずにログインする) 場合、Cookie の秘密をうまく破って で偽の Cookie を作成するだけauthorized => trueですよね?

の資格情報部分に格納されている実際のアクセス キーを格納する価値はありません。Omniauth::AuthHashこれは機密情報と思われるためです...

4

1 に答える 1

2

Cookie に保存しても安全なデータとそうでないデータについて、多少混乱しています。

一般に、誰かがユーザー Cookie を盗んだ場合、これは最悪のシナリオです。

  • ユーザーのセッションを乗っ取る
  • Cookie に含まれるすべてのデータを盗む
  • 不正アクセスを得る

使用したいのは、ユーザーとその要求の真正性を検証するためにやり取りできる真正性トークンの形式だと思います。

参考文献

特に、例と特性防止のセクションをチェックしてください。

于 2012-06-19T00:16:35.173 に答える