Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Wymagane javascript
Forum PHP.pl > Forum > Przedszkole
adam882
Witam!

Posiadam formularz, który posiada bardzo dużo elementów obsługiwanych sprawdzanych przez javascript, czy formularz został właściwie wypełniony. Niby jest walidacja przez php, ale nie jest ona na tyle dokładna, jak przez skrypty javascript.
Przypuszczam, że gdyby został wysłany przez przeglądarkę bez javascript, niektóre elementy mogłyby być "przekłamane" (np. formularz dopuszcza zaznaczenie z listy maksymalnie 3 checkboxów , a javascript to blokuje).
Czy istnieje możliwość wyłączenia formularza w przypadku, gdy przeglądarka nieobsługuje javascript ?

Pozdrawiam!
nospor
Formularz można wysłać bez korzystania przeglądarki, wiec jak jakis "haker" bedzie chcial ci zrobic kuku, to zrobi. Tak wiec lepiej zrob tez walidacje na poziomie php
pitu
Dodawaj przez JS jakieś ukryte pole, w PHP sprawdzaj po wysłaniu formularza czy wartość została przesłana.
nospor
@pitu ale to nie jest zabezpieczenie przed "hakerem" a to nim się powinien martwić uzytkownik a nie kims, kto ma wyłączony js
pitu
Oczywiście, że tak. Pytanie zaś dotyczyło wykrycia wysłania formularza z lub bez JS. smile.gif
adam882
Ok rozumiem.

Chciałbym zatem sprawdzić z punktu php, czy tablica $_POST['dominujacy'] pobierana z <input class="glowny_class" type="checkbox" name="dominujacy['.$x.']" value="1"> rzeczywiście jest tablicą, zawierającą, jako wartości tylko 1.

Myślałem nad zastosowaniem is_array() , a potem przez foreach() sprawdzić, czy wartości są jedynkami.

Pytanie tylko, czy to, co napisałem pod spodem jest dozwolone (tzn. czy można nadpisywać tablicę $_POST['dominujacy'] ? )
  1. foreach($_POST['dominujacy'] AS $key=>$val)
  2. {
  3. if($val!=1){$_POST['dominujacy'][$key]=1;}
  4. }
nospor
Cytat
Oczywiście, że tak. Pytanie zaś dotyczyło wykrycia wysłania formularza z lub bez JS.
Tak, tylko ze czesto uzytkownicy nie wiedzą o tym, ze bardzo łatwo mozna wyslac dane bez przegladarki i poprostu nie zdają sobie sprawy z niebezpieczentwa. Trzeba czasami im to uswiadomic, a nie bezmyslnie ( tongue.gif ) odpowiadac na pytanie.

@Adam mozna
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.