Экспресс-сессия NodeJS перемещает номер cookie вместе с сеансом между браузерами - PullRequest
0 голосов
/ 31 октября 2018

Я начинаю изучать NodeJS и пишу страницу, где я хочу войти и в сеансе на сервере, хранить информацию о вошедшем в систему пользователе.

Данные сеанса также будут доступны для WebSocket. С этим у меня нет проблем (с входом в систему и передачей данных в WebSocket), но меня удивляет одна вещь.

var express = require('express');    
var session = require('express-session');    
var app = express();

   app.use(session({
       secret: 'xxxxxxxxxxxxxxx',
       name: 'sessionNazwa',
       resave: false,
       saveUninitialized: true,
       cookie: {
           maxAge: 24 * 60 * 60 * 1000,
           httpOnly: true
       }    
    }));

После входа на сайт появляется файл cookie «sessionName» с назначенным номером сеанса. После входа на сайт, я вижу, что пользователь вошел в систему. Дело в том, что когда я копирую номер сеанса из файла cookie и заменяю его номером сеанса в другом браузере, все данные для входа в систему передаются в другой браузер. Это значит, сессия ходов.

Тот факт, что сеанс перемещается из этого файла cookie, меня не удивляет, но я удивлен, что модуль 'express-session' не обнаруживает копирование номера сеанса файла cookie и не меняет идентификатор. Из того, что я помню, в 2 PHP, когда номер сеанса был изменен, сервер сгенерировал новый идентификатор.

Почему в модуле 'express-session', если номер сеанса изменяется, он не генерируется и не заменяется новым? Как защитить себя дополнительно?

...