Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Czy takie zabezpieczenia są wystarczające ?
sheriff
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 24.06.2010

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


Jako iż to mój pierwszy post, witam wszystkich serdecznie (IMG:style_emoticons/default/smile.gif)

Napisałem prosty skrypt do rejestracji użytkownika. Chcę się dowiedzieć jakie błędy popełniłem i czy takie zabezpieczenia są wystarczające.
Z góry dziękuję (IMG:style_emoticons/default/winksmiley.jpg)

  1. <?php
  2. $error = ' ';
  3. $fail = 0;
  4.  
  5. if (!isset($_POST['login'])){
  6. echo '
  7. <form method="post" action="register.php">
  8. <input type="text" name="login" /><br><br>
  9. <input type="password" name="password"/><br>
  10. <input type="password" name="rpassword"/><br><br>
  11. <input type="submit" value="Gotowe"/>
  12. </form>
  13. ';
  14. $fail = 1;
  15. }
  16. else{
  17. $login = $_POST['login'];
  18. $pass = $_POST['password'];
  19. $rpass = $_POST['rpassword'];
  20. $passmd5 = md5($pass);
  21. mysql_connect('localhost', 'root', 'krasnal') or die('MySql fatal error.');
  22. mysql_select_db('sheriffengine') or die('MySql fatal error.');
  23.  
  24. if (strlen($login) < 4)$error .= '<br>- login musi składać się z conajmniej 5 znaków';
  25.  
  26. if (strlen($pass) < 5)$error .= '<br>- hasło musi składać się z conajmniej 6 znaków';
  27.  
  28. if ($pass !== $rpass)$error .= '<br>- podane hasła muszą być takie same';
  29.  
  30.  
  31. if (preg_match("/[^A-z0-9_-]/", $login)==1)$error .= '<br>- login może składać się wyłącznie z liter i cyfr';
  32.  
  33.  
  34. if (preg_match("/[^A-z0-9_-]/", $pass)==1 || preg_match("/[^A-z0-9_-]/", $rpass)==1 )$error .= '<br>- hasło może składać się wyłącznie z liter i cyfr';
  35.  
  36. if(mysql_num_rows(mysql_query("select * from users where user_login='".htmlspecialchars($login."'")))) $error .= '- użytkownik o podanym loginie istnieje, wybierz inny login';
  37.  
  38. if ($error !== ' '){
  39. echo '<br>Rejestracja się nie powiodła. Zastosuj się do poniższych wskazówek:';
  40. $fail = 1;
  41. }
  42.  
  43. echo $error;
  44.  
  45. }
  46.  
  47. if ($fail == 0){
  48. mysql_query("insert into users values(NULL, '".htmlspecialchars($login)."', '".$passmd5."')");
  49. echo 'Witaj '.$login.'! Rejestracja przebiegła pomyślnie.';
  50. }
  51.  
  52. ?>
  53.  


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 - 03:01