Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Walidacja formularza
Kas
post
Post #1





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

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


Wiem, że temat przewija się regularnie na forum. Jednak przygotowuję ważną aplikację, a dokładna walidacja formularzy to dosłownie sprawa życia i śmierci. Akurat piszę moduł logowania:

  1. $login = strip_tags($_POST['login']);
  2.  
  3. $unwanted = array("'", "/", "(", ")", "[", "]", ";", ",", "?");
  4. $login = str_replace($unwated, "", $login);
  5. if(ctype_alnum($login)
  6. {
  7. if(is_string($login)
  8. {
  9. //logowanie
  10. }
  11. }


Czy jest jeszcze jakaś funkcja o której zapomniałem? Czy można jakoś poprawić powyższy kod? Z góry dzięki. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kas
post
Post #2





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

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


Długość loginu i hasła nie ma znaczenia, bo wszystko będzie później solone i hashowane. Ograniczenie do 10 znaków to efekt CTRL+V. Zastanawiam się tylko na możliwością przeciążenia serwera poprzez wysłanie niezwykle długiego stringa. O ile wiem w PHP nie ma limitu długość stringa, a liczenie hasha z 1 000 000 000 znaków (1 GB) może chwilę potrwać i zająć trochę pamięci. Obecna wersja:

  1. $login = '';
  2. $password = '';
  3.  
  4. if(!empty($_POST))
  5. {
  6. if(is_string($_POST['login']) && is_string($_POST['login']))
  7. {
  8. if(ctype_alnum($_POST['login']) && ctype_alnum($_POST['password']))
  9. {
  10. $login = strip_tags($_POST['login']);
  11. $password = strip_tags($_POST['password']);
  12. //logowanie
  13. }
  14. }
  15. }


albo

  1. $login = '';
  2. $password = '';
  3.  
  4. if(!empty($_POST))
  5. {
  6. if(is_string($_POST['login']) && is_string($_POST['login']))
  7. {
  8. if(preg_match('/^[a-z0-9]{4,32}$/', $_POST['login']) && preg_match('/^[a-z0-9]{8,32}$/', $_POST['password']))
  9. {
  10. $login = strip_tags($_POST['login']);
  11. $password = strip_tags($_POST['password']);
  12. //logowanie
  13. }
  14. }
  15. }
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 23.12.2025 - 08:33