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%)
-----


Wybacz, chyba dzisiaj się nie wyspałem. (IMG:style_emoticons/default/smile.gif)

  1. $login = '';
  2. $password = '';
  3.  
  4. if(!empty($_POST))
  5. {
  6. if(is_string($_POST['login']) && is_string($_POST['password']))
  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['password']))
  7. {
  8. if(preg_match('/^[a-zA-Z0-9]{4,32}$/', $_POST['login']) && preg_match('/^[a-zA-Z0-9]{4,32}$/', $_POST['password']))
  9. {
  10. $login = strip_tags($_POST['login']);
  11. $password = strip_tags($_POST['password']);
  12. //logowanie
  13. }
  14. }
  15. }


Dodałem duże i małe litery, niech moja strata będzie. Czemu:

  1. $password = strip_tags($_POST['password']);


nie powinno być? Wiem, że po preg_match() albo ctype_alnum() raczej nie ma sensu, ale czemu nie powinno być? Jestem kiepski z ywrażeń regularnych, więc przy preg_match było małe CTRL+V. (IMG:style_emoticons/default/wink.gif)

Odpowiadając jeszcze na Twoje pytanie: tak, login również będzie hashowany, a hasło solone i hashowane.
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: 17.09.2025 - 19:37