У меня есть веб-приложение, созданное в express.js с базой данных postgresql. Мне было интересно, как реализовать безопасность, но все используют что-то свое (думаю, это хорошо?). Различные модули, разные последовательности аутентификации и т. д. Что у меня есть на данный момент: 1) сообщение формы пользователя, например, /login 2) маршрут приложения к определенному маршруту 3) в маршруте я пробую следующее
var localconstring = "postgres://" + usr + ":" + pass + "@ip:port/db";
var client = new pg.Client(localconstring);
client.on('drain', client.end.bind(client));
client.connect(function (err, client, done) {
База данных использует md5, поэтому проход уже защищен базой данных.
Что должно произойти на самом деле? Должен ли я солить и хэшировать имя пользователя и пароль, а затем сохранять соленые/хешированные учетные данные вместе с солью, а затем также использовать md5 базы данных? Если да то какой модуль?
Должен ли я входить в систему таким образом или пытаться сделать выбор * из pg_roles/users ??
Большое спасибо! (относительно соли и хеша, если возможно, несколько подробных примеров, поскольку я хорошо знаком с безопасностью аутентификации)
Забыл упомянуть. куки.. После аутентификации я установил следующие куки:
res.cookie('user', req.body.lguser.username, { signed: true })
res.cookie('watcher', o, { signed: true })
И посмотрите их потом
req.signedCookies.user !== undefined
Безопасен ли подписанный атрибут?