Что такое "секретный" вариант сеанса?


Я ничего не знаю о криптографии. Мне интересно, в чем секрет сеанса.

Я вижу такой код:

app.use(express.session({
  store: mongoStore({
    url: app.set('db-uri')
  }),
  secret: 'topsecret'
}));

в чем секрет и стоит ли его менять?

3 88

3 ответа:

Да, вы должны изменить его. Секрет сеанса в connect просто используется для вычисление хэш -. Без строки доступ к сеансу по существу будет "запрещен". Взгляните на подключить документов, это должно немного помочь.

секрет используется для хэширования сеанса с HMAC:

https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js#L256

сеанс затем защищен от захвата сеанса, проверяя отпечаток пальца против хэша с секретом:

https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js#L281-L287

секретный ключ в основном используется для шифрования данных в сессии