I would like to know if is there a secure issue id I set the _id of my user in cookie to identify users or it will be better to set a cookie username and an otherone encode pwd
thanks
はい、これは完全にセキュリティ上のリスクです。ユーザーが_id
別のユーザーの を発見できた場合 (たとえば、誤ってどこかに表示した場合)、そのユーザーとしてログインできることを意味します。さらに悪いことに、 は_id
事後に変更できないため、別のセッションをリモートで強制的にログアウトさせたり、盗まれた Cookie から回復させたりする方法はありません。
ユーザー固有のデータではなく、セッションをログインに使用します。
コメントのようなもの、答えのようなもの。
提示された選択肢はどちらも悪いです。モートンのフォークとも呼ばれます。
ユーザー ID を Cookie に入れる: 悪いのは、duskwuff が言ったように、Cookie が盗まれて ID が戻される可能性があるためです。それを止める方法はありません。
ユーザー名と暗号化されたパスワードを Cookie に入れます: まったく同じ理由で悪いです。
3 番目のオプションが推奨されます。有効期間が制限された暗号化されたセッション ID を送り返します。サーバーがセッションがタイムアウトしたと判断したら、それ以上使用しないでください。