[JavaScript] Nodejs i socket.io - czat i walidacja requesta |
[JavaScript] Nodejs i socket.io - czat i walidacja requesta |
26.12.2018, 23:22:15
Post
#1
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 16 Dołączył: 20.02.2014 Ostrzeżenie: (10%) |
Witam. Chcę stworzyć czat taki jak na facebooku (prywatne wiadomości między użytkownikami), ale jako że zacząłem dopiero przygodę z Socket.io i NodeJS to chciałbym poradzić się kogoś doświadczonego z tymi technologiami.
Na co muszę zwracać uwagę w kwestii bezpieczeństwa podczas pisania takiego czatu? Podejrzewam, że dane w requeście, który inicjuje połączenie websocket z serwerem Nodejs, da się łatwo podmienić, a więc musiałbym jakoś sprawdzać czy user wysyłający wiadomość, nie wstawił w request danych innego usera - przez co końcowo nadawcą byłby niewłaściwy użytkownik. Jak to zrobić? Wszyscy piszą o tokenie, nawet na konkurencyjnym forum 4p sprawdziłem i wysyłany jest tylko jeden parametr podczas inicjalizowania połączenia websocket, i jest to parametr "token" (jest straaaasznie długi) - podejrzewam, że najlepiej taki token utworzyć w backendzie (php) z danych zalogowanego na stronie użytkownika (który potem ma wysyłać wiadomości do innych użytkowników), ewentualnie dodać sól - i jak ten token ostatecznie walidować po stronie Nodejs? Podczas inicjalizacji czatu raz pobierać dane nadawcy z bazy, tworzyć token w ten sam sposób i porównywać go, czy jest jakiś bardziej optymalny sposób? Oprócz możliwości podszycia się pod innego usera jako nadawca (poprzez spreparowanie danych requesta), są jeszcze jakieś inne możliwości dla "atakującego"? Z góry dziękuję za wskazówki. |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 06:33 |