Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Utrzymywanie użytkownika zalogowanego w nodeJS

Musisz zrozumieć różnicę między serwerem ekspresowym a natywnym serwerem NodeJS, tutaj mój link porównanie serwera nodejs z serwerem ekspresowym

Możesz więc zrobić:

var app = express();
var server = http.createServer(app);

Dzięki temu możesz mieć nadal niski poziom funkcjonalnie z NodeJS.

Tak więc, jeśli nie chcesz korzystać z istniejących modułów lub frameworka, możesz zbudować własnego menedżera sesji:

  1. używanie plików cookie
  2. przy użyciu adresu IP/UA
  3. używając gniazda

Najlepszym sposobem byłoby zaimplementowanie go najpierw za pomocą gniazda , na przykład:

server.on('connection', function (socket) {
  socket.id = id;
});

lub

server.on('request', function (req, res) {
  req.connection.id = id; // The socket can also be accessed at request.connection.
});

Tak więc wystarczy zaimplementować oprogramowanie pośredniczące, które sprawdzi identyfikator.

Jeśli chcesz zapobiec session prediction , session sidejacking , itp. musisz połączyć pliki cookie, adres IP, gniazdo i swoje pomysły, aby była bezpieczniejsza dla Twojej aplikacji.

Gdy skończysz menedżera sesji, możesz wybrać, gdzie chcesz przechowywać sesje, w prostym object , w redis , w mongodb , w mysql ... (express użyj MemoryStore domyślnie, ale może nie teraz)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL w klauzuli od zera do wielu parametrów

  2. Przekroczenie limitu czasu JDBC MySql, nawet przy „autoReconnect=true”

  3. Najlepszy sposób na zabezpieczenie zapytania SQL w PHP

  4. Geolokalizacja dużej liczby postów na podstawie adresów IP. (880 000 wierszy)

  5. Jak naprawić źle sformatowany JSON w PHP?