miedzna
9.09.2010, 09:20:52
Mam na stronie ukryte pole formularza <inpu type="hidden" name="cośtam"> w którym to polu zapisywane pewne operacje, które user wykonuje na stronie. Po kliknięciu zapisz, te dane są wysyłane do bazy. Moje pytanie: czy jest szansa na to, że ktoś jak kliknie Zapisz tak jak by zatrzymuje wykonanie POST i podmienia dane z pola name="cośtam"? Bo wydaje mi się, że ktoś u mnie tak kombinuje. Poza tym czy da się to jakoś zabezpieczyć?
nospor
9.09.2010, 09:23:44
yyy, jakie narzędzia?

Przecież to kazde dziecko może zrobić. Wystarczy podmienic wartość pola hidden na dowolną. To ze go przeglądarka nie pokazuje, to nie znaczy ze nie mozna do niego się dostać. Wystarczy zmodyfikować źródło strony (np. w operze) lub pobawić się firebugiem w FireFox

Już o takich bajerach jak cURL to nawet nie będę wspominał
lDoran
9.09.2010, 09:28:00
POST od GET różni się tylko tym, że GET wysyła zawartość zmiennych w URL, a POST w headerze
miedzna
9.09.2010, 09:29:17
Hmmm niedobrze

A jak się zabezpiecza takie rzeczy? Zapisywać do sesji dane?
nospor
9.09.2010, 09:36:49
No po stronie serwera musisz sprawdzac, czy user ma prawo wykonać daną akcję czy nie. Nawet jesli user sam sobie wpisze dowolną akcje, to gdy nie bedzie mial prawa do jej odpalenia, to mu wyswietlisz: "Spadówa"
miedzna
9.09.2010, 09:48:09
A jak na to pole narzucę atrybut readonly, to też można będzie podmienić dane?
nospor
9.09.2010, 09:49:09
tak. wszystko co jest w przeglądarce można bez zadnego problemu zmienic.
wszelkie zabezpieczenia mają byc po stronie serwera Bajery po stronie przeglądarki to tylko dodatek - zapamiętaj to sobie.
b4rt3kk
9.09.2010, 10:32:29
Powinno pomóc sprawdzenie z jakiej strony wysyłany jest formularz. Najprostsza metoda "shackowania" formularza polega na napisaniu go samemu z odpowiednimi nazwami pól i odnośnikiem action.
nospor
9.09.2010, 10:35:23
@b4rt3kk najprostrza to jest uzycie FireBuga. Wowczas wszystko idzie z wlasciwej strony i Twoje zabezpieczenie jest nic nie warte. Ponade Twoje zabezpieczenie mozna zlamac samemu ustawiajac wlasciwy referer
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.