Пример, если вы запустите:
console.log('Connect.sid', req.headers.cookie);
Результат connect.sid
значение:
connect.sid=s%3A04x6YVZX68nRrhakd3SWuIMakDhuGptO.kyBVHe0HDI4pW1JeOl0xEopRYgQ51ZVlAKdfui7ii18
И если вы зарегистрируете req.sessionID
, результат будет следующим:
04x6YVZX68nRrhakd3SWuIMakDhuGptO
На данный момент ясно, что первая часть сеанса cook ie (connect.sid
) - это sessionId. То, что каждый может построить с помощью функции genid
, которую нам предоставляет express.
Чтобы быть более понятным, у меня есть несколько правил WAF, некоторые из этих правил предназначены для проверки SQL Атаки или что-то еще как это. Иногда (довольно далеко) мой брандмауэр веб-приложения (In Azure) срабатывает, потому что совпадает с шаблоном в connect.sid
cook ie.
Мне нужно обработать всю кухню ie, но Я смогу взаимодействовать только с первым разделом значения cook ie (sessionID). И вот здесь у меня есть несколько вопросов:
- Что это за второе значение?
- Как с этим справиться?
- Можно ли удалить его и создать новый один, если шаблон соответствует?
- У меня много проблем с этим? Лучше только добавить исключение в WAF?
На всякий случай, я читал этот очень похожий вопрос "express -сессия - разница между идентификатором сессии и подключением. sid?", но мне нужно больше подробностей об этом.