• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Gamedev czy powinienem użyć JWT?

Object Storage Arubacloud
0 głosów
283 wizyt
pytanie zadane 24 października 2019 w PHP przez GameDev newbie Nowicjusz (120 p.)
zmienione kategorie 25 października 2019 przez Comandeer
Cześć !

Na codzień pracuję w springu, i postanowiłem stworzyć w miarę prostą grę just 4fun po godzinach pracy. Korzystam z Unity, PHP i MySQL, zrobiłem już prostą rejestracje i logowanie ale pojawiło się pytanie - czy w game devie też powinienem skorzystać z tokenu JWT do autoryzacji wszelkich operacji użytkownika? Moja gra ma troche elementów z MMO - rynek, walki z innymi itd ( gierka 2D podobna troche do Shakes & Fidget ). Pytanie czy w takich gierkach korzysta się z tokenu JWT? a może w game devie jest jakieś inne rozwiązanie na security? Nie znam się na tym zbytnio, także bardzo proszę o wszelkie rady. Obecnie bez żadnego tokenu czy innego rozwiązania, obawiam się że user może wykraść z kodu path do PHP i wysłać fake form, żeby np zdobyć jakiś itemek.

2 odpowiedzi

0 głosów
odpowiedź 24 października 2019 przez JakSky Stary wyjadacz (14,770 p.)
JWT raczej średnio się nadaje. JWT jest bezstanowy co tylko bardziej utrudnia pracę. Zwykły stadion ID starczy. A jak to gra multiplayer to tym bardziej.
komentarz 24 października 2019 przez Ehlert Ekspert (212,670 p.)

JWT jest bezstanowy co tylko bardziej utrudnia pracę.

Czy mógłbyś to czymś poprzeć?

komentarz 24 października 2019 przez JakSky Stary wyjadacz (14,770 p.)
Drugi raz mam z Tobą dyskutować o tym samym? :) JWT ma większy rozmiar od zwykłego tokenu(zależy jak długi jest token, ale generalnie powinien być mniejszy od JWT), a w grach gdzie żądania są wysyłane bardzo często to tylko zwiększa transfer danych. Druga rzecz, to JWT z założenia ma być bezstanowy, czyli mieć zapisany nick czy role w samym JWT, co przy częstych zmianach danych i częstym  ich sprawdzaniu (w grach używa się np botów banujących i zablokowanie użytkownika powinno następować natychmiast), używanie JWT w tym przypadku jest bez sensu bo i tak co żądanie trzeba zapytać bazę danych czy użytkownik ma aktywne konto itp
komentarz 24 października 2019 przez Ehlert Ekspert (212,670 p.)

grach gdzie żądania są wysyłane bardzo często to tylko zwiększa transfer danych.

A no tak. Backend średniowiecza, zapomniałem. Masz rację nie ma sensu dyskutować.

2
komentarz 24 października 2019 przez Comandeer Guru (601,530 p.)

@Ehlert, ale to przecież jest główne założenie JWT: bezstanowość. Cały stan użytkownika trzymany jest w tokenie na dobrą sprawę. Co z miejsca de facto eliminuje tradycyjny JWT z zastosowań, które wymagają wysokiego stopnia bezpieczeństwa.

To, jak bezstanowość utrudnia pracę, widać po samym HTTP i tym, z czym musimy się męczyć od ponad 20 lat – cookies. Teraz proponuje się inne rozwiązanie: HTTP tokens, ale znów wracamy do początku, czyli, że o sesji użytkownika decyduje przeglądarka/klient, nie serwer, a w sumie to to są cookies, tylko niedostępne z poziomu JS. Czyli kwadratura koła.

komentarz 25 października 2019 przez Ehlert Ekspert (212,670 p.)
Czyli coś w stylu jwt ale jak cookies + httpOnly. Niedługo hasła będziemy sprawdzać po stronie klienta.

Z drugiej strony nie rozumiem czemu nie zapisać do jwt samego userId. Token jest chudszy, bieżące dane mamy z bazy. Imo omijanie jakiegoś rozwiązania z powodu problemów jakie powoduje pełna standaryzacja (stateless w tym wypadku) to jakaś paranoja. Nie chodzi mi tutaj o olewanie standardów bezpieczeństwa itp itd. Robimy jedno query do bazy i tym sposobem łączymy zalety stateless i stateful. Nie skazujemy się tym sposobem na jakiś dramat i ograniczenia. Biznes i tak to ma w 4 literach.
komentarz 25 października 2019 przez Comandeer Guru (601,530 p.)
Skoro w JWT trzymasz tylko id, to… po co Ci JWT? ;)
komentarz 25 października 2019 przez Ehlert Ekspert (212,670 p.)
Bo robię api dla aplikacji mobilnych.
1
komentarz 25 października 2019 przez Comandeer Guru (601,530 p.)

BTW

Niedługo hasła będziemy sprawdzać po stronie klienta.

https://webauthn.io/ ;) A Apple wgl wyjechało z czymś jeszcze dziwniejszym:  https://lists.w3.org/Archives/Public/public-webappsec/2019Sep/0004.html

0 głosów
odpowiedź 24 października 2019 przez Ehlert Ekspert (212,670 p.)
Użyj tego z czym Ci będzie wygodnie. Jeśli piszesz w Symfony to masz z marszu dostarczony firewall z cookiesami. Jeśli separujesz front to warto pomyśleć o JWT, dopisanie Guarda do jwt to 20 minut roboty.

Podobne pytania

0 głosów
1 odpowiedź 298 wizyt
pytanie zadane 27 sierpnia 2019 w Bezpieczeństwo, hacking przez wyłącznikWłącznika Nowicjusz (220 p.)
0 głosów
1 odpowiedź 441 wizyt
pytanie zadane 17 września 2018 w PHP przez mi-20 Stary wyjadacz (13,190 p.)
0 głosów
0 odpowiedzi 245 wizyt
pytanie zadane 19 czerwca 2018 w PHP przez mi-20 Stary wyjadacz (13,190 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...