私のウェブサイトにログインシステムがあり、データベースに保存されているユーザの詳細はユーザID識別子)、メールアドレス(ユニーク)、表示名(一意ではない)、パスワードとmembersince。
クッキーには何を保存すればよいですか?私は有効期限のあるクッキーにユーザーIDだけを格納し、次にサインアップした後にユーザーがクッキーをチェックしてログインするように考えていました。彼がログアウトすることを決めたら。
*少しの説明も非常に役に立ちます。おかげユーザログイン中に「Remember me」を実装するためにクッキーに保存するもの
答えて
アプリケーションのみが知っている秘密鍵で署名した場合、cookieにuseridを格納することができます。それ以外の場合は、ユーザーがクッキーを何かに変更して、他のユーザーとしてログインすることも可能です。したがって、ユーザーIDを保存する場合は、秘密鍵(理想的にはHMACを使用)を使用してユーザーIDのハッシュを格納し、ログインするときは同じハッシュを計算し、それをクッキーのハッシュと比較します。別の解決策は、ランダムなトークンを生成し、それをデータベースに格納し、それをクッキー内で使用することである。それが長くてランダムであれば、誰かが別の人のトークンを推測する可能性はほとんどありません。
ありがとうたくさんの男 – halocursed
ありがとうございました!しかし、「秘密鍵を持つユーザーID」はどういう意味ですか?私が悪い人で、私はクッキー全体を固め、このハッシュ・ストリングを取得して私がログインしたユーザーであるとふりをして、サーバーが私が間違った人であることを知ることができますか? – Jaskey
秘密鍵のポイントは、クッキーを設定するだけで、あなたが望むどんなユーザーでも "ログイン"できないことを確認することです。秘密鍵を知らなければ、あなたはクッキーを構築する方法がありません。既存のユーザーのCookie全体を作成する場合は、もちろんそのユーザーとしてログインすることができます。 1)ある時間後にクッキーを期限切れにする(クッキーにタイムスタンプをエンコードする)、2)特定のIPアドレスに固有のクッキーを作成する(再度、クッキー内のIPアドレスをエンコードする)、3)特定のユーザエージェント文字列に固有のものにします(これは簡単に偽造することができます) –
はPHPが組み込まれていあなたが探している正確に何をセッション管理:
http://us.php.net/manual/en/book.session.php
を私はクッキーにUSER_IDを保存することをお勧めしません。代わりに、独自のトークンを生成し、データベース内のユーザーとトークンを関連付けることができ、&が各要求でトークンを再生成することを確認できます。ここでもセッション管理はPHPに組み込まれているため、少し冗長です。
あなたはそれについて少し説明できますか? – halocursed
クッキーの有効期限を2日またはユーザーを覚えて保存したい日数に加えて保存します。
PHP '$ _SESSIONはこれを行います。フルコントロールが必要な場合は、独自のセッションクラスを作成することもできます。
小さなチュートリアルでは、ここに発見された:ここでhttp://www.tizag.com/phpT/phpsessions.php
ではなく、PHPのデフォルトのストアのセッションにMySQLを使用するための小さな一例です(/ tmp内のファイル): http://www.hawkee.com/snippet/2018/
- 1. フェニックスでremember-meを実装する
- 2. Grailsアプリケーションで「remember me」を実装する
- 3. WinForms/WPFの "Remember Me"チェックボックスを実装する最良の方法
- 4. Remember Meチェックボックス:認証情報を安全に保存するには?
- 5. WPFアプリケーションで「Remember me」を実装する方法
- 6. C#で "Remember Me"パスワード機能を実装する方法は?
- 7. Remember-Me-cookie - トークンを保存する場所
- 8. "remember me"という情報をローカルに保存するC#(new newbeginner)
- 9. ASP.NET Web APIクッキーを使用した「Remember Me」機能
- 10. Rails - "remember me"ケイパビリティ
- 11. MVVM - データを保存するためにModelViewに 'IsDirty'機能を実装する
- 12. ユーザが入力したものを保存するためにjsフィドルにクッキーを追加する
- 13. Grails Spring Security Remember Me
- 14. Remember-me CookieとVarnish
- 15. Spring Security remember-meサービス
- 16. ログイン情報を保存するためのクッキーを設定するPHP
- 17. aspログインフォームに「remember me」ボックスを追加する
- 18. asp.netのWebページで "Remember Me"
- 19. jsf 2.0の "remember me"機能
- 20. Spring SecurityのRemember-me機能
- 21. 春のセキュリティUsernamePasswordAuthenticationFilter with remember-me
- 22. 画像をクッキーに保存する
- 23. Struts2クッキーにロケールを保存する
- 24. Django:ユーザーIDをクッキーに保存する
- 25. JSFクッキーにデータを保存する
- 26. PHP |ブール値をクッキーに保存する
- 27. IDクッキーにカスタムデータを保存する
- 28. ゲームの各レベルに保存されたゴーストを実装する
- 29. Pythonリクエスト - 後でurlを使用するためにクッキーを保存する
- 30. クッキーに(;)を含めてコンテンツを保存する方法は?
は、すでに答えているように思えます自分自身の質問、ユーザーIDを保管してください。 – TechTravelThink
これは安全ではありません - 下記の回答を参照してください。 – Jon