Jak to z tym jest? js pracuje na kompie usera, ajax prosto mowiac komunikuje js z php, ale kody skryptow sa otwarte - user widzi jakie zmienne dzialaja i co w nich sie znajduje, mozna smialo zalozyc, ze wie, po co wysylamy gdzies tam id konta itp. Nie znam sie na dzialaniu tego i nie wiem na ile mozna w to ingerowac, stad mam kilka pytan ktore moga wydawac sie glupie:
Sytuacja pierwsza:
Zalozmy, ze mamy w ajaxie zrobione kasowanie konta. Ajax pobiera sobie w jakis sposob id konta, wysyla go do skryptu kasuj.php gdzie id konta jest odbierany i nastepuje skasowanie konta o podanym id. Szybko prosto i przyjemnie.
Zalozmy teraz, ze ajax pobiera numer id z jakiegos diva:
Kod:
<div id="numer_id_konta_do_skasowania">666</div>
Numer 666 to numer konta.
Pytanie numer 1: Czy user moze ten numer podmienic by skasowac konto swojego sasiada: 777?
Pytanie numer 2: Czy user moze recznie odpalic plik kasuj.php (w koncu zna i nazwe pliku i sciezke) i dlaczego tak i jak sie przed tym zabezpieczyc?
Sytuacja druga:
Zalozmy, ze zwariowalem i postanowilem odciazyc procesor serwera. W tym celu wykonuje zapytania - pobieram z bazy wszystkie potrzebne staty gracza i jego przeciwnika. Dane te trafiaja do skryptu js i walka odbywa sie w js - na kompie gracza, po czym jej wynik wraca (ajax...) do skryptu php np. "koniecwalki.php" i tam juz dochodzi do podsumowania wynikow walki itp.
Pytanie numer trzy: Czy gracz moze podmienic skrypt js na swoj w wiadomym celu?
Pytanie numer cztery: Czy moze do koniecwalki.php wyslac swoje dane zupelnie inne od tych jakie sa wynikiem walki?
Pytanie kontrolne: Jesli gdziekolwiek odpowiedz brzmi "tak", to jaks ie przed tym zabezpieczyc?
Pytanie na szostke: Czy gracz moze zrobic jeszcze jakies niepozadane cudo o ktorym nawet mi sie nie snilo (czyt. nie zapytalem o to)?
Zakładki