Witam. Zastanawiam się czy takie wyrażenia regularne w formularzu rejestracji wystarczą do zabezpieczenia przed sqlinjection, czy należało by coś jeszcze dodać. Z góry dziękuje za odpowiedź :)
<?php
if(isset($_POST['login']) && isset($_POST['password']) && isset($_POST['repassword']) && isset($_POST['email'])){
$login = $_POST['login'];
$haslo = $_POST['password'];
$haslo2 = $_POST['repassword'];
$email = $_POST['email'];
// Walidacja danych
$errorLogin = false;
$errorPass1 = false;
$errorPass2 = false;
$errorEmail = false;
$error = false;
$errorMessageLogin = "Login powinien zawierac od 3 do 15 małych liter, bez znaków specjalnych!";
$errorMessagePass1 = "Hasło powinno zawierać od 5 do 30 znaków!";
$errorMessagePass2 = "Hasła nie są identyczne!";
$errorMessageEmail = "Niepoprawny E-mail!";
// Login
$wzorzecLogin = "/^[a-z]{4,16}$/";
if(preg_match($wzorzecLogin,$login)){
}else{
$errorLogin = true;
$error = true;
}
//Hasło
$dlugoscHasla = strlen($haslo);
echo $dlugoscHasla;
if($dlugoscHasla>30 || $dlugoscHasla<5){
$errorPass1 = true;
$error = true;
}
// Hasło2
if($haslo!=$haslo2){
$errorPass2 = true;
$error = true;
}
//E-mail
$wzorzecEmail = '/^([a-z|A-Z|0-9]{4,20})@([a-z|A-Z|0-9]{2,10})\\.(pl|gr|com)$/';
if(preg_match($wzorzecEmail,$email)){
echo 'poprawny';
}else{
$errorEmail = true;
$error = true;
}
// Koniec Walidacji
}
?>