2017-09-26 11 views
0

node.jsを使用しています。私はセッション変数をセッション変数に格納することを考えていました。そのため、ルートを要求するたびに、サーバーはそのセッションIDを持つユーザーがそのページにアクセスする権限を持っているかどうかをデータベースでチェックします。すべてのページリクエストのためのデータベース・コールが存在しますので、データベースのオーバーヘッドなしで権限を確認するにはどうすればよいですか?

これは、少し非効率です。他のWeb開発者はこれを処理するにはどうすればよい

..私は、私はちょうどデータベース呼び出しを避けるために、この目的のためにクッキー/セッション変数にいくつかのデータを格納することができ知っているが、その後私は改ざんされやすいのですか?

答えて

1

httpsで使用されるサーバー側のセッションと関連する暗号化されたセッションCookieは安全です。ですから、そのユーザーが認証されているかどうかを示すサーバー側セッションの値を保持しておけば、サーバー側セッションオブジェクトの変数をチェックするだけで済みます。これは、私が知っているすべてのWebサイトが何をしているかです。

、適切なセッションストアで使用NPMモジュールexpress-sessionはあなたのためにこれのほとんどを実装します。

あなたはこれが安全ではないと思う具体的な理由を持っている場合、彼らは議論することができますので、それらの理由を共有してください。 9 Security Tips to Keep Express from Getting Pwned:ここ

は、Node.jsのサーバーやポイント#6の確保に関する一般的な記事は、セッションクッキーを確保する程度であるのです。

+0

誰かがクッキーの情報を「読み」ならば、私は単純になるように、可能な限りのセッションクッキーのように少し情報を保存しようとしていたものを推測、彼らがどのようにサイトの機能、内部については何も学びません。私は署名されたクッキーとhttpsが改ざんを避けるのに役立つはずだと思います。 –

+0

@KaizerSozay - express-sessionのようなものは、クッキーに1つのセッションIDしか格納しません(長い暗号化された文字列のみ)。他のすべてのユーザセッション状態は、サーバ自体の外部にアクセスできない実際のセッションオブジェクトに格納されます。ありがとう。 – jfriend00

+0

ありがとうございます。私はそれを知らなかった! –

関連する問題