2011-12-25 21 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

那麼如果黑客竊取用戶的Cookie,他能模仿他,但這是很多網站的情況。儘管如此,你不應該太擔心。

而且,最好是沿與USER_ID,超過的時間做兩個查詢沒有一點記憶的用戶名。

+0

謝謝你的迴應,你覺得這種方法安全嗎?我感興趣的是在谷歌的做法嗎? – Erik 2011-12-25 16:55:25

+0

那麼所有的網站都需要cookies來建立用戶和帳戶(會話)之間的連接。通過將IP和瀏覽器保存在服務器端的會話數據中(如果另一個人試圖從另一個IP /瀏覽器模擬用戶,他被拒絕訪問),可以使其更安全。請記住,有些人一直在使用動態IPS。 – alessioalex 2011-12-25 20:21:08

+0

我喜歡關於在會話中保持IP和瀏覽器的想法。但是我使用帶有貓鼬的nodejs作爲會話存儲,所以在這種情況下如何做到這一點? – Erik 2011-12-26 04:30:56