Od razu powiem na wstępnie, że przeczytałem całą książkę: "PHP5 Bezpieczne programowanie J.Ross, wydawnictwa Helion", oraz wiele wiele stron poświęconych bezpieczeństwu. Ale kto pyta nie błądzi

A więc moje pierwsze pytanie, może trochę głupie no ale...:
Przycisk wysyłający formularz, i po którym jest sprawdzane w PHP, czy został wsyłany:
<input type="submit" name="register" value="Zarejestruj się">
Sprawdzanie, w PHP:
Czy takie coś jest bezpieczne, czy w taki sposób ktoś może wstrzyknąć tutaj jakiś kod, czy muszę jeszcze jakoś zmienną $_POST['register'] filtrować?
Przy każdym wysyłaniu formularza sprawdzam dane, w taki sposób:
$login = $_POST['login']; $pass = $_POST['pass']; $pass2 = $_POST['pass2']; elseif(num_rows('`users` WHERE `login`="'.$login.'"') >= 1) { info_blad('Login jest zajęty); } elseif(!isset($pass)) { info_blad('Podaj hasło'); } elseif(!preg_match('/^[0-9a-zA-Z!@#%^&*()-_=+,.]*$/i', $pass)){ info_blad('Błędne znaki w haśle'); } elseif($pass!=$pass2) { info_blad('Hasła się nie zgadzają'); } ....
Czy sprawdzanie takie jest zarówno bezpieczne jak i również optmalne pod względem wydajności, taki typ stosuję w każdym formularzu na stronie, a jest ich sporo.
A może napisać jakąś klasę do usprawnienia tego procesu, niestet z klasami niezabardzo daję sobie radę?
Tak, aby dane były sprawdzane, np. w taki sposób:
$sprawdz = new post_sprawdz(); $sprawdz_dane -> liczby = $_POST['numer_domu']; // komunikat o ew. błędzie $sprawdz_dane -> znaki_az = $_POST['imie']; // komunikat o ew. błędzie itd. // jeżeli wszystko się zgadza
Pozdrawiam, i liczę na Wasze rady i propozycje
