Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Gra w statki, AJAX i bezpieczeństwo
Shlizer
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 4.09.2003
Skąd: z Gdyni

Ostrzeżenie: (0%)
-----


Witam.
Pochylam się od jakiegoś czasu nad pewnym problemem natury bezpieczeństwa aplikacji. Mam do napisania grę w statki i jeden z trybów zakłada rozgrywkę hot-seat, czyli 2 graczy na jednym komputerze. Wygląda to tak, że jeden gracz odgrywa swoją turę, pokazuje się plansza, że teraz następuje tura gracza drugiego i prośba o wpisanie jego hasła (ustawionego tylko na czas rozgrywki), gra swoją turę, pokazuje się plansza do wpisania hasła dla drugiego gracza itd. Grywalność takiego rozwiązania jest pomijalna. =p

Całość chciałbym rozwiązać, wykonując jak najmniej odświeżeń strony, czyli pytać o ruchy i trafienia serwer asynchronicznie (JSON przesyłany AJAXem). Problem mam tylko jeden - możliwość oszustwa w grze i 'podejżenie' hasła oraz układu statków gracza drugiego, poprzez monit zapytań (np. w konsoli firebuga). Czy istnieje jakiś sposób na bezpieczny (tj. niemożliwy lub znacznie utrudniony) przesył takich danych, zakładając, że gracze mają do dyspozycji tylko przeglądarkę (SSH, sniffery i takie sprawy mnie nie interesują)?

Są zatem dwa problemy:
1. Wysyłanie hasła do serwera i sprawdzanie jego poprawności - myślałem nad SHA w JS (+sól w postaci np. czasu unixowego) i wysłanie zashaszowanego hasła, ale to można łatwo sobie wyczytać z kodu i 'przełamać'.
2. Odebranie danych z serwera, zawierających pozycje statków gracza.

Jedyny pomysł jaki mam to możliwość 'wyczyszczenia' pamięci operacji połączeń asynchronicznych, tylko nie wiem, czy istnieje pewny sposób dla różnych przeglądarek (załóżmy tylko te nowoczesne + IE10 =p) albo inne podejście do problemu, czy jestem zmuszony jednak co turę refreshować zawartość strony?

Ten post edytował Shlizer 29.10.2013, 23:06:23
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 09:02