ログイン機能を備えた Web サイトを持っていて、その人のユーザー名を Cookie に保存しています。
いくつか質問があります。
- 個人のユーザー名を保存したい場合、セッションまたは Cookie としてのみ行う必要がありますか?
- Cookie を無効にしている場合はどうすればよいですか? 何も保存せず、毎回ログインさせる必要がありますか?
ありがとう。
ログイン機能を備えた Web サイトを持っていて、その人のユーザー名を Cookie に保存しています。
いくつか質問があります。
ありがとう。
GET
変数を介してのみセッションを使用できます。セッション ID は、URL を介してサーバーに返されます。Cookie とセッションのしくみを参照してください。詳細については。
個人のユーザー名を保存したい場合、セッションまたは Cookie としてのみ行う必要がありますか?
セッションを実装する標準的な方法は、Cookie を使用することです。唯一の問題は、永続的なCookieを保存して、ブラウザーを閉じて後で戻ってきた場合に再度ログインする必要がないようにするかどうかです。
Cookie を無効にしている場合はどうすればよいですか? 何も保存せず、毎回ログインさせる必要がありますか?
すべてのリンクのクエリ文字列とすべてのフォームの非表示の入力を介してトークンを渡すことでセッション システムを実装できますが、このアプローチではセッションを簡単にリークできます (URL をコピー/貼り付けして他の人に渡すため)。より多くの労力が必要です (特に、JavaScript を使用してブラウザーを URL に誘導し始めた場合)。
Cookie は WWW で状態を保持するための標準的な方法であり、ユーザーが Cookie を有効にしている場合にのみ、状態に依存するサイトの部分 (ログインしているユーザーの追跡など) が機能することは完全に合理的です。
Cookie を無効にするユーザーはごく少数であり、サイトにログインしたい場合は再度有効にすることができます。
Surly セッションの方が優れています。Cookie として保存すれば、誰でもそれを挿入できます。ブラウザの Cookie を編集して、他のユーザーとしてログインできます。しかし、セッション ハイジャックについても読んだほうがよいかもしれません。
最新のブラウザーを使用している場合は、Cookie の代わりにWeb Storageを使用できます。
ユーザー名のみを保存して、パスワードではなくユーザーを「記憶」する場合は、Cookie を使用しても問題ありません。しかし、使用ごと (セッションなど) にユーザーのログイン情報を保持する場合は、常にセッションを使用する必要があります。つまり、ある使用から次の使用までに必要な非セキュアな情報には Cookie のみを使用し、個々の使用ごとに必要なセキュアな情報にはセッションを使用します。