0

私は nodejs/mongo を初めて使用するので、express-session-mongoについて知らなかったため、独自のセッション ミドルウェアを展開することになりました。

私のミドルウェアでは、(express のセッション ミドルウェアを介して) セッションにユーザー ID を保存し、リクエストごとにログインしているユーザー オブジェクトを読み込みます。また、「remember me」機能のために、ユーザーがユーザー/パスを httpOnly Cookie に保存できるようにします。

そのnpmのドキュメントページには、何かが望まれています。

私の質問は次のとおりです。そのモジュールと私が書いたものの利点は何ですか? 私は愚かなことをしていますか?彼らのすることは、私がすることよりも優れていますか?

4

1 に答える 1

1

あなたの技術は非常に安全ではありません。データベース内のユーザー レコードの ID を知る必要があり、それをセッション Cookie で使用して任意のユーザーになることができる場合、それは重大な脆弱性です。セッション ID は、それ自体にはデータを含まない疑似ランダム トークンである必要があります。これらは、サーバー側でデータを検索するために使用される推測不可能な数値です。また、時間の経過とともにセッションごとに一意である必要がありますが、ユーザー ID はそうではありません。

于 2012-12-26T19:15:04.173 に答える