私は、ユーザーが認証するときに「rememberme」オプションを持つプロジェクトの開始時にいます。
私のユーザーのデータベーステーブルには、認証のための次の基本構造があります。
- id:ユーザー登録時に生成される乱数。(鍵)
- username:ユーザーが選択したユーザー名は、別の一意のユーザー名に変更できます。
- hash:パスワード設定時に「phpass」で作成されたパスワードのハッシュ。
CookieとMySQLを使用して、複数のコンピューターにユーザーがログインし続けるための安全な方法を知りたいです。
同じCookieを使用して、一時的なセッションまたは「rememberme」セクションを保存できるようにしたいと思います。トークンとすべてのユーザー情報をCookieにハッシュすることについて読みましたが、安全ですか?ユーザー認証後に使用されるFacebookのCookieを確認しましたが、ユーザーIDの入力がありますが、本当に必要なことですか?
情報をCookieにハッシュすることにした場合、おそらく遅い「phpass」または単純なMD5関数を使用する必要があります。認証検証は、すべてのページとすべてのAJAX要求に含まれていることがわかりますか?ログインを確認するたびにユーザートークンを更新する必要がありますか?
最後に、私が持っている最良の選択は何ですか?これに似た質問がたくさんあることは知っていますが、これを行うための「最良の方法」のようなものは見つかりませんでした。すべての投稿で、この主題について何か異なった矛盾していることがわかります。安全でクリーンな方法を知りたいのですが。