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ć):
$_SESSION['error'] = NULL; if(($_POST['email']==NULL) || ($_POST['login']==NULL) || ($_POST['password']==NULL) || ($_POST['password2']==NULL)) { $_SESSION['error']="fill in all form fields"; } if($_POST['password']!=$_POST['password2']) { $_SESSION['error']="password and password(x2) mismatch"; } include("connect.php"); $getemail="SELECT * FROM users WHERE email='" . $_POST['email'] . "'"; if($email['email'] == $_POST['email']) { $_SESSION['error']="e-mail is already used"; } $getlogin="SELECT * FROM users WHERE login='" . $_POST['login'] . "'"; if($login['login'] == $_POST['login']) { $_SESSION['error']="login is already used"; } $register = "INSERT INTO `et`.`users` (`id`, `email`, `login`, `password`, `credits`, `active`) VALUES (NULL, '" . $_POST['email'] . "', '" . $_POST['login'] . "', '" . $_POST['password'] . "', '0', '0')"; if($register_query == 1) { //activation mail script here// $_SESSION['error']="<br/>activation link has been sent to your e-mail address"; } ?>