Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zabezpieczenia w formularzach..
m4tt_pl
post 28.01.2005, 22:17:13
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 25.01.2005

Ostrzeżenie: (10%)
X----


Witam napisalem (a raczej pisze:)) swoj pierwszy skrypt.. newsy. Skrypt z wysylaniem juz mam, teraz ten co zapisuje i tu sie pojawia problem.

  1. <?
  2. //////////////////////////  FUNKCJE FORMULARZU
  3. $nick = $_POST[&#092;"nick\"]; // Okresla nicka
  4. $news = $_POST[&#092;"news\"]; // Okresla tresc newsa
  5. $date = $_POST[&#092;"date\"]; // Okresla date
  6. //////////////////////////
  7.  
  8. //////////////////////// FUNKCJA SPRAWDZAJACA POPRAWNOSC
  9. if (($news == '') && ($nick == ''))
  10. {
  11. die(&#092;"Nie podano zadnych danych.. wroc i podaj odpowiednie dane!\");
  12. }
  13. elseif ($nick == '') 
  14. {
  15. die(&#092;"Wroc i podaj nick.. nie zapisano danych!\");
  16. }
  17. elseif ($news == '')
  18. {
  19. die(&#092;"Wroc i podaj tresc newsa.. nie zapisano danych!\");
  20. }
  21. else
  22. {
  23. ////////////////////////
  24.  
  25. //////////////////////// FUNKCJE ODCZYTU/ZAPISU PLIKU
  26. //wczytanie starych danych
  27. //otwarcie pliku do odczytu
  28. $fp = fopen(&#092;"news.dll\", \"r\");
  29. //odczytanie danych
  30. $stareDane = fread($fp, filesize(&#092;"news.dll\"));
  31. // zamknięcie pliku
  32. fclose($fp);
  33. // stworzenie nowych danych
  34. $noweDane = &#092;"$nick|$news|$datern\";
  35. $noweDane .= $stareDane;
  36. // zapisanie nowych danych
  37. // otwarcie pliku do zapisu
  38. $fp = fopen(&#092;"news.dll\", \"w\");
  39. // zapisanie danych
  40. fputs($fp, $noweDane);
  41. // zamknięcie pliku
  42. fclose($fp);
  43. ///////////////////////
  44.  
  45. ///////////////////////  TEKST PO WYPELNIENIU FORMULARZA
  46. print &#092;"<h1><center>Dane zapisane. Milego Dnia (huh:P).</center></h1>\";
  47. ///////////////////////
  48. }
  49. ?>


Myslalem ze
  1. <?php
  2.  
  3. if (($news == '') && ($nick == ''))
  4. {
  5. die(&#092;"Nie podano zadnych danych.. wroc i podaj odpowiednie dane!\");
  6. }
  7.  
  8. ?>


To dobre zabezpieczenie przeciw pustemu wpisowi , ale widze ze nie .. user wstawi spacje i juz sie zapisuje. Czy mozna jakos temu zaradzic ? Czy koniecznie musze zrobic array i po koleji '',' ',' ' itd ?sad.gif Prosze o podpowiedz!
Go to the top of the page
+Quote Post
Ive
post 28.01.2005, 22:57:23
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 1
Dołączył: 17.07.2003
Skąd: Kazanów

Ostrzeżenie: (0%)
-----


trim" title="Zobacz w manualu PHP" target="_manual [usuwa spacje], preg_match" title="Zobacz w manualu PHP" target="_manual [bardziej rozbudowana walidacja pola przy odpowiednim wyrażeniu], ereg" title="Zobacz w manualu PHP" target="_manual [jak dobrze skonstruujesz wyrazenie tez dobrze waliduje pole ;]]
Go to the top of the page
+Quote Post
m4tt_pl
post 28.01.2005, 23:02:23
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 25.01.2005

Ostrzeżenie: (10%)
X----


A moglbys skonstruowac mi kod? Bo jestem zdeczka cienki w tych bardzo dziwnych funkcjach..
  1. <?php
  2.  
  3. preg_match(&#092;"/[^./]+.[^./]+$/\", $host, $matches);
  4.  
  5. ?>

"/[^\.\/]+\.[^\.\/]+$/", <- nawet nie potrafie zajarzyc o co w tym chodzi
Go to the top of the page
+Quote Post
crash
post 29.01.2005, 00:08:29
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Jeśli jesteś początkujący to zrezygnuj z wyrażeń regularnych, użyj trim" title="Zobacz w manualu PHP" target="_manual i ewentualnie htmlspecialchars" title="Zobacz w manualu PHP" target="_manual...


--------------------
Go to the top of the page
+Quote Post
tiraeth
post 29.01.2005, 10:46:07
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


  1. <?php
  2. if (trim($news) == &#092;"\" && trim($nick) == \"\")
  3. {
  4. die(&#092;"Nie podano zadnych danych.. wroc i podaj odpowiednie dane!\");
  5. }
  6. ?>

Jak na Twoje umiejętności związane z php, ten skrypt Ci wystarczy smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 04:01