AngularJS spaでのユーザー認証のためのトークンなしでexpess-sessionを使用するのは安全ですか?user authのトークンなしでexpress-sessionを使用するのは安全ですか?
ユーザがセッションを変更することはできますか?ログインに
は、資格証明書(電子メール、パスワード)を明示ルーティングで
connection.query('SELECT username, password, emailCode FROM `user` WHERE `email` = ?', [ email ], function (error, results, fields) {
if(error) console.log(error);
if(!results.length) return res.json({ err: 'Invalid password or email address' }); // invalid email
if(!bcrypt.compareSync(password, results[ 0 ].password)) return res.json({ err: 'Invalid password or email address' }); // invalid password
req.session.username = results[ 0 ].username;
req.session.email = email;
req.session.loggedIn = true;
res.json({ username: req.session.username, msg: 'Successfully logged in' });
});
でPOSTリクエストをtheresのこのようなLOGGEDINチェックをtheresの:すべてのクライアント側に必要なデータがある
app.get('/views/user/:name', function(req, res) {
var name = req.params.name;
if (typeof req.session.loggedIn !== 'undefined' && req.session.loggedIn) {
return res.sendFile('views/user/' + name, { root: __dirname + '/public/' });
} else {
return res.sendFile('views/error.html', { root: __dirname + '/public/' });
}
});
req.session.loggedInがtrueの場合、httpを介してリクエストを取得してユーザー情報などを返します
正常に動作しているようですが、安全ですか?
「トークンなし」とはどういう意味ですか?セッションはトークンを持っていないのですか?彼らは後でどのように再調整されますか?トークンは一般的に問題ありませんが、パスワードを変更するなどの重要な作業にはパスワードが必要です。そうであれば、クッキーを持つ誰も、クッキーに関連付けられたユーザーを偽装することができます。 – dandavis
クッキーに頼ることの浮き沈みについては、https://www.youtube.com/watch?v=tso5rhzQYBcをご覧ください。 – dandavis