2011-12-25 7 views
3

私はnodejsで私自身のログインシステムを作りました。それはどのように安全なnodejs +自分のセキュリティシステムを表現する

function loadUser (req, res, next) { 
     // Check user_id 
     if (req.session.user_id) { 
      // Is there in db 
      User.findById({_id: req.session.user_id}, function (err, user) { 
      if (user) { 
       req.currentUser = user; 
       next(); 
      } else { 
       res.redirect('/login'); 
      } 
     }); 
     } 
    } 

    app.get('/secure', loadUser, function (req, res) { 
     res.render('secure.jade', {user: req.currentUser}); 
    }); 

です:

は、私がこれ作るユーザのログインを確認するには?ハッカーはセッションキーを受け取ることができますか?そして、このアプローチをより良くするためのベストプラクティスがありますか?

答えて

1

ハッカーが彼を偽装する可能性のあるユーザーのクッキーを盗む場合は、そうですが、多くのウェブサイトでそうです。あなたはそれについて多くを心配するべきではありません。

また、user_idと一緒にユーザー名を記憶させておくことをお勧めします。時間の経過とともに2つのクエリを作成することはありません。

+0

回答ありがとうございます。そのアプローチは安全だと思いますか?私はGoogleでアプローチを作ることに興味がありますか? – Erik

+0

よくあるすべてのウェブサイトでは、ユーザーとそのアカウント(セッション)を接続するためのクッキーが必要です。これは、サーバー側のセッションデータにipとブラウザーを保存することでより安全にすることができます(別の人が別のIP /ブラウザーからユーザーを偽装しようとすると、アクセスが拒否されます)。ただし、常に動的なipsを使用する人もいます。 – alessioalex

+0

私はセッションでIPとブラウザを維持するというあなたの考えが好きです。しかし、私はセッションストアのためにmongooseを使ってnodejを使用しています。どうすればこのようにすることができますか? – Erik

関連する問題