Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [html] blokowanie formularza
Forum PHP.pl > Forum > Przedszkole
7furik7
Witam.

Pytanie może sie wydawać prostę, ale:
chce zablokować jakis element na stronie - powiedzmy ze chodzi o pole text formularza
jeżeli wpisze disabled owszem nie da sie nic wpisać, ale wystarczy ze uzytkownik skorzysta z Firebug i ręcznie wykasuje to słowo z kody html - i już moze wpisywać i wysyłać.
jeżeli dam przeźroczysty obrazek nad pole - to samo - mozna go recznie usunąć i wysłać pole.

domyślnie ma to byc tak ze jest tabla z danymi - jak uzytkownik w polu "dostepność" ma 1 to moze wpisać, jak 0 to nie moze. Jedyne co mi narazie przychodzi do głowy to ukryc cały formularz, albo całe to pole, lub generować je dynamicznie w zależności od wyniku z bazy, ale to bez sesnu - musi być jakieś rozwiazanie chyba?!

pzdr.
nospor
Nawet jak nie wygenerujesz tego pola, czy schowasz cały formularz, to byle lepszy haker z przedszkola może ci wysłać to pole na serwer.

W pierwszej kolejności masz obsłużyć to po stronie php. Jak pole ma być disabled to w php poprostu go nie odbierasz - problem z kombinowaniem przez usera od razu ci znika.

A takie bajery jak disabled w przeglądarce to tylko i wyłącznie dla wygody wypełniającego. Możesz to dać, ale pamiętaj by na tym nie polegać. Obsługa tego w php to podstawa.
7furik7
no ok wiec pisze coś takiego:


index.php:
  1. <!DOCTYPE html>
  2. <head>
  3. <link rel='stylesheet' type='text/css' href='style.css' />
  4. </head>
  5. <body>
  6.  
  7. <form method='post' action='send.php'>
  8. <input type='text' name='text1' class='textf' disabled />
  9. <input type='text' name='text2' class='textf' />
  10. <input type='submit' value='sender' name='sender' />
  11. </form>
  12.  
  13. </body>
  14. </html>

  1. if(isset($_GET) && !empty($_GET)){
  2. unset($_GET);
  3. echo 'wystąpił błąd - zmieniono adres i metode wysyłania dacynch<br />';
  4. }
  5.  
  6. if(isset($_POST) && !empty($_POST)){
  7. unset($_POST);
  8. echo 'wystąpił błąd - zmieniono adres wysyłania dacynch<br />';
  9.  
  10. }



send.php:
  1. // Rozpoznanie użytkownika za pomocą sesji !!
  2. // jesli ma dostep
  3. $txt1 = $_POST['text1'];
  4. $txt2 = $_POST['text2'];
  5. $this->zapisz($txt1, $txt2);
  6.  
  7. // jeśli nie ma dostępu
  8. $txt2 = $_POST['text2'];
  9. $this->zapisz($txt2);





w pliku send.php musze rozpoznac użytkownika, żeby wiedzieć z kim mam do czynienia. i teraz w jakis sposób to zrobić? sesja? czy ewentualnie podczepić Javascriptem jakieś info przy wysyłaniu formularza? czy zaglądnąć do bazy danych?

dzieki wielkie za pomoc wink.gif

pzdr
nospor
Cytat
w pliku send.php musze rozpoznac użytkownika, żeby wiedzieć z kim mam do czynienia. i teraz w jakis sposób to zrobić? sesja? czy ewentualnie podczepić Javascriptem jakieś info przy wysyłaniu formularza? czy zaglądnąć do bazy danych?
Jak rozpoznać czy może wysłać dane pole czy nie? No dokładnie tak samo jak rozpoznajesz przed dodaniem disabled dla pola.
7furik7
Cytat
No dokładnie tak samo jak rozpoznajesz przed dodaniem disabled dla pola.


aaaaaaa... noi ciągle nie wiem,
zwykle wysyłałem id usera ukrytym polem, ale to było bez sensu bo je tez mozna zmienić, wiec zrobie to sesją, ale tam też mozna namieszac tylko juz nie pierwszy lepszy haker z przedszkola a pierwszy lepszy z podstawówki to umie tongue.gif wiec bede o 1 poziom edukacji do przodu biggrin.gif
przeanalizowałem przedchwilą dodawanie demotywatorów na demotywatory.pl - i wyglada na to że tam tez korzysta się z sesji.
nospor
Jakby w sesji dało się tak łatwo namieszać jak mówisz, to 90% serwisów szlag by trafił...
7furik7
Ołkej wink.gif
wielkie dzięki za tą zmuszającą do myślenia pomoc wink.gif

Pozdrawiam wink.gif
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.