![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 211 Pomógł: 4 Dołączył: 29.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zaczynam się uczyć NodeJS i się nim bawić.
Pisze sobie stronę, że której chcę zrobić logowanie i w sesji na serwerze przechowywać informacje o zalogowanym użytkowniku. Dane o sesji mają być też dostępnie dla WebSocket. Z tym nie mam problemu (z logowaniem i przekazaniem danych do WebSocket), ale dziwi mnie jedna rzecz. Kod 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 } })); Po wejściu na stronę, pojawia się ciasteczko 'sessionNazwa' z przypisanym numerem sesji. Po zalogowaniu na stronę, widać, że użytkownik jest zalogowany. Rzecz w tym, że w momencie jak przekopiuję numer sesji z ciasteczka i podmienię z numerem sesji w innej przeglądarce, to wszystkie dane 'zalogowania' przenoszą sie do innej przeglądarki. Innymi słowy, przenosi się sesja. To że pod tym konkretnym numerem z ciasteczka przenosi się sesja mnie nie dziwi, ale dziwi mnie to, że moduł 'express-session' nie wykrywa przekopiowania ciasteczka i nie zamienia numeru sesji. Z tego co pamietam, w przypadku PHP, przy podmianie numeru sesji, serwer generował nowy identyfikator. Dlaczego w module 'express-session', przy podmianie numeru sesji nie jest on generowany i podmieniany na nowy? Jak się dodatkowo zabezpieczyć? |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.04.2025 - 03:59 |