1

プロパティ(httpOnlyおよびsecure = true)を使用してサーバーにCookieeを設定する場合、それはサーバーとクライアント間の通信中にのみ保護され、その後は保護されないことを意味しますか?言い換えると、値が元々plainTextであった場合、それはクライアント側でもplainTextとともに保存されますか(httpsで移動した後)、安全ではない/脆弱になりますか?

1)パスワードは送信前に常に暗号化する必要がありますか(httpsを使用している場合でも)?

2)httpCookiee(secure = true)はどこに保存されますか?このストレージアクセスは保護されていますか?

4

3 に答える 3

2

おそらくパスワードを保存したくないでしょう。

必要なのは、「ユーザーはすでに認証されています」フラグを保存することです。

やはり「ダイジェストアクセス認証」について学ぶべきです。ハッシュ化されたデータを保存することは常にプラスです。

この答えは短すぎます。これは主に、可能性が多すぎるためです。また、未解決の質問が多すぎます。

リピーターの扱い:

(サーバー側で) セッション データベースを管理できます。セッションIDのみを保存するCookieに。ユーザーが自分自身を認証すると、サーバー側のデータベースに彼のステータス「ログイン済み」が保存されます。彼がログアウトすると、DB ステータスが「ログオフ」に変わります。

戻ってきたユーザーの処理には、「パスワードの保存」はまったくありません。たとえば、open-id、twitter、facebook などの外部認証サービスによってユーザーを認証できます。セッション ID などによってステータスを保存するだけです。

通常、ブラウザはユーザー名/パスワードを保存できますが、これは常にユーザーの責任です。ユーザーが自分のパスワードだけを覚えておきたい場合は、パスワードを保存しないでください。

暗号化されたパスワードを Cookie に保存することで、アプリとセキュリティ メカニズムを複雑にする必要があるのはなぜですか?どのような観点から見ても、これは正しい解決策ではありません。

簡単な流れ:

  • 新しいユーザーがサイトにアクセスすると、新しいセッション ID が割り当てられ、その SID が Cookie に保存されます。
  • 彼が(https経由で)ログインすると-DBに保存されます=「セッションID」->「ログイン済み」
  • 彼が 1 週間後に戻ってきたら、(サーバー側で) Cookie から彼のセッション ID を受け入れることができます。また、DB から彼の「ログイン」ステータスを取得するか、もう一度彼を強制的にログインさせることができます (たとえば、有効期限の)
  • 上記のすべては、パスワードを何らかの方法で保存するリスクがありません
于 2012-07-22T14:05:57.683 に答える
0

secure フラグが true に設定されると、ブラウザが閉じられた後でも、Cookie は暗号化されてクライアントに保存されます。あなたが言うように、それは安全でない/脆弱です。

応答。1) Javascript を使用して送信前にパスワードを暗号化できますが、https が暗号化を行っているためあまり意味がありません。

応答。2) Cookie はブラウザのフォルダに保存されます。誰でもフォルダを開いて、テキスト エディタで Cookie を表示できます。

ブラウザがパスワードを処理します。<input type="password"> を使用し、SSL を使用するだけで十分安全です。また、パスワードを Cookie に保存することは絶対に避けてください。

于 2012-07-22T14:14:25.213 に答える
0

1) そう思います。セキュア フラグを使用しても、Cookie はブラウザのキャッシュにプレーン テキストで保存されるため

2) ブラウザやOSに依存します。Mac の Safari の場合、~/Library/Cookies/Cookies.plist で見つけることができます。Secure フラグが設定された Cookie はプレーン テキストで表示されます。所有者だけが見ることができるように保護されている可能性がありますが、コンピューターのどこにでもプレーンなパスワードを設定することは決して良い考えではありません

于 2012-07-22T14:10:19.887 に答える