Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Feedback moich skryptów, proszę o rady i wskazówki
anatman
post 25.07.2013, 19:06:29
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 25.07.2013

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


Witam uprzejmie wszystkich koderów!

Zacząłem budować pewien serwis, jednak moje umiejętności są niekompletne i dość chaotyczne(samouk). Dlatego prosiłbym o odsłuch z waszej strony. Chciałem w tym temacie publikować moje wypociny i liczę na Wasze konstruktywne wskazówki i rady. Podkreślam, że postawiłbym przede wszystkim na prostotę i bezpieczeństwo. Z tego względu nie chciałbym, zbytnio komplikować kodu, wręcz przeciwnie mam nadzieję, że część rzeczy można napisać prościej - jeśli coś widzicie piszcie. Prace nad skryptami są w toku, więc wiele rzeczy jest jeszcze nienapisanych. Póki co wszystko działa tak jak chce, więc tutaj problemu nie ma. Myślałem, że sam podołam wszystko napisać, jednak nie wiem zupełnie jak zabrać się m.in. za sprawę bezpieczeństwa, która jest dla mnie praktycznie pierwszorzędna. Googlowałem, googlowałem, ale nic sensownego i uporządkowanego nie znalazłem, dlatego zakładam ten temat. Mam nadzieję, że pomożecie mi w budowie, uzupełniając moją wiedzę jednocześnie. Więc zaczynam!

Na początek skrypt rejestracji. Nie potrzebne mi tutaj dużo rzeczy jedynie e-mail, login, password; reszta to pierdoły. Chciałbym abyście ocenili skrypt od strony konstrukcyjnej. Po pierwsze, liczę na wskazówki dotyczące działania i czytelności kodu, po drugie jak zabezpieczyć kod (jakich funkcji użyć):

  1. <?php session_start();
  2.  
  3. $_SESSION['error'] = NULL;
  4.  
  5. if(($_POST['email']==NULL) || ($_POST['login']==NULL) || ($_POST['password']==NULL) || ($_POST['password2']==NULL)) {
  6. $_SESSION['error']="fill in all form fields";
  7. header("Location: ../index.php"); exit;
  8. }
  9. if($_POST['password']!=$_POST['password2']) {
  10. $_SESSION['error']="password and password(x2) mismatch";
  11. header("Location: ../index.php"); exit;
  12. }
  13.  
  14. include("connect.php");
  15.  
  16. $getemail="SELECT * FROM users WHERE email='" . $_POST['email'] . "'";
  17. $_email=mysql_query($getemail, $connect);
  18. $email=mysql_fetch_assoc($_email);
  19. if($email['email'] == $_POST['email']) {
  20. $_SESSION['error']="e-mail is already used";
  21. header("Location: ../index.php"); exit;
  22. }
  23. $getlogin="SELECT * FROM users WHERE login='" . $_POST['login'] . "'";
  24. $_login=mysql_query($getlogin, $connect);
  25. $login=mysql_fetch_assoc($_login);
  26. if($login['login'] == $_POST['login']) {
  27. $_SESSION['error']="login is already used";
  28. header("Location: ../index.php"); exit;
  29. }
  30.  
  31. $register = "INSERT INTO `et`.`users`
  32. (`id`, `email`, `login`, `password`, `credits`, `active`)
  33. VALUES (NULL, '" . $_POST['email'] . "', '" . $_POST['login'] . "', '" . $_POST['password'] . "', '0', '0')";
  34. $register_query=mysql_query($register, $connect);
  35.  
  36. if($register_query == 1) {
  37. //activation mail script here//
  38. $_SESSION['error']="<br/>activation link has been sent to your e-mail address";
  39. header("Location: ../index.php"); exit;
  40. }
  41. else echo mysql_error();
  42. ?>


Ten post edytował anatman 25.07.2013, 21:09:48
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 15:42