Pokaż wyniki 1 do 7 z 7

Temat: HTML5+javascript czy Flash? - Co bardziej podatne na hackowanie?

  1. #1

    Domyślnie HTML5+javascript czy Flash? - Co bardziej podatne na hackowanie?

    Dzień dobry Zawsze tworzyłem gry w środowisku Unity. Z racji, że były typu singleplayer to nie przywiązywałem uwagi do zabezpieczeń.
    Aktualnie chcę wystartować z grą dostępną w przeglądarce. Za pomocą HTML5+JavaScript można przepiękne rzeczy wytworzyć ale z tego co mi się wydaje, są mega proste do hackowania. Każde zabezpieczenie chyba można wyłączyć przez konsolę, a wynikiem też można manipulować.
    Można się przed tym jakoś uchronić? Każdy pojedynczy ruch gracza przekazywany do bazy danych?
    Zrobienie takiej gry we Flashu byłoby bezpieczniejsze? Tam z tego co się orientuje większość próbuje coś zachachmęcić za pomocą Cheat Engine ale to już chyba będzie łatwiejsze do kontrolowania.

    Co Wy o tym sądzicie?

  2. #2

    Domyślnie

    https://www.youtube.com/watch?v=zj1qTrpuXJ8

    Gościu dotyka w pewnej chwili (nie mogę znaleźć) tematu bezpieczeństwa takich gier.
    Głos racjonalny.

  3. #3

    Domyślnie

    Cytat Napisał Zafahix Zobacz post
    Każde zabezpieczenie chyba można wyłączyć przez konsolę, a wynikiem też można manipulować.
    Nie wiem dokładnie jakim wynikiem chcesz manipulować. Przecież to Twoj serwer ma wszystko liczyć i posiadać centralne bazy danych, które wysyła do wszystkich klientów - otwartych przeglądarek...

  4. #4

    Domyślnie

    Właśnie dużo o tym czytałem i jeszcze i tak sporo do przerobienia.
    Na początku czytałem jakiś zwykły tutorial o prostej grze i natrafiłem też na temat coś w stylu "Nowa era cheatowania w grach - HTML5". I kierowałem się zdaniami tego autora, że każde zabezpieczenie można wyłączyć itd., gdyż skrypt wykonuje się po stronie klienta.
    Obfuskacja kodu zabezpieczy grę przed 'script kiddies', a przynajmniej im to utrudni.

    Przeczytałem właśnie wypowiedź podobną do Twojej @elitegroup, że najlepiej jest wszystko liczyć po stronie serwera, wtedy chociaż ktoś zmanipuluje wynik końcowy, to na tablicę najlepszych i tak trafi prawidłowa wartość.

    Czy takie przykładowe zabezpieczenie, które mi przyszło na myśl byłoby w miarę dobre?
    Przy starcie zapisanie dokładnego czasu. Co sekundę od gracza pobierane są logi w postaci pozycji X, Y na mapie, dzięki czemu widząc podejrzany wynik mógłbym sprawdzić, czy nie używał map hacka, każde zebranie coinów wysyła log także w postaci miejsca, że rzeczywiście w wyznaczonych do tego lokacjach zostały zebrane. Na koniec porównanie czasu z bazy danych do użytkownika. Jeśli inny to coś próbował grzebać i auto-ban. I wynik to będzie pomnożenie ilości coinów przez ich punktację, że w ogóle nie będzie pobierany od klienta tylko liczony po stronie serwera.
    I oczywiście postaram się wszystko filtrować, żeby zamiast pozycji X, Y nie wysłali mi jakiegoś kodu do usunięcia bazy danych

    Czy takie zabezpieczenie w obydwóch językach można zastosować, czy któryś z nich ma jakieś ograniczenia, że np. nie można co sekundę wysyłać logów?

  5. #5

    Domyślnie

    Odpowiedź jest prosta -- weryfikować (po stronie serwera) czy informacje o stanie gry pochodzące od usera mieszczą się w granicach rozsądku, ewentualnie zbierać te informacje, a samą weryfikację odroczyć.
    Reszta "wiedzy" o zabezpieczaniach gier online przed nadużyciami jest według mnie, z grubsza biorąc, wtórna.
    Głos racjonalny.

  6. #6
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Podstaw to jak pisze lame2 kwestia poprawnej implementacji logiki na serwerze gry, reszta sprawa wtorna...

    Zarowno Flash jaki i HTML5+JS uzywaja http(s) do komunikacji z serwerami, wiec jak mozesz zmienic informacje w locie to nie ma znaczenia ktorego uzywasz. Flash powoli staje sie przezytkiem ale przynajmniej 'ukrywa' kod aplikacji w sensie ze nie widzisz dokladnie co sie dzieje jesli nie zrobisz dekompilacji pliku (da sie, sa do tego narzedzia). W przypadku JS mozna uzyc bibliotek do obfuskacji i tez bedzie wygladalo na smietnik - latwo uruchomic ale trudniej zmodyfikowc.
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  7. #7

    Domyślnie

    Okej To wybieram Flash i AS 3.0. HTML5 nadal się rozwija, przemawia za nim kompatybilność z urządzeniami mobilnymi ale generalnie na nich mi nie zależy, bo gra będzie dedykowana pod PC I myślę, że łatwiej będzie ogarnąć AS 3.0

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj