私はアプリケーションのログインシステムで作業していますが、私はどの情報を保存すべきかわかりません。現在のところ、ユーザーのIDはセッション変数にのみ格納され、その変数が設定されている場合は、必要なすべての情報を含むデータベースからユーザーがロードされます。しかし、私はまた、私がクッキーを必要とする「私を覚えている」オプションを持っていたいと思います。ユーザーIDを保存するだけであれば、誰かがIDを変更して別のユーザーになる可能性があるため、危険です。私の考えは、現在、これを行うことです。PHP:情報をクッキーに保存する安全な方法は?
$array = array($user['username'], $user['pass']);
serialize(base64_encode($array));
クッキーが設定されたのであれば、私はそれをアンシリアライズし、パスワードとユーザー名(パスワード自体はMD5でハッシュされる)を持つユーザーを見つけるだろう。 しかし、これはあまり安全ではないと思います。クッキーを安全にするためにクッキーに保存する必要があるものは何ですか?それ以外の方法はありますか?
あなたは全体の質問を読まなかった。とにかく、私は既にクッキーに保存される前にパスワードをハッシュしています。クッキーをチェックすると、ハッシュされたパスワードを使ってユーザーにログインします。それは安全だという意味ですか? – ItsGreg
@cillosisは、ほとんどの場合、セッションデータをランダムなハッシュと共にデータベースに保存することを意味していました(セッションのハイジャックを容易にするため、ユーザーデータをクッキーに保存しないでください)。ハッシュはクッキーに格納されているので、クッキーが存在し、有効であればセッションデータを復元できます。また、md5は安全とはみなされません。 – Alasjo