Przeczytalem caly temat o obronie przed sql injection, ale jest tak zasmiecony ze malo co sie dowiedzialem i nie wiem nadal jak zabezpieczyc moj skrypt...
Czy moglby mi ktos podpowiedziec co mam zrobic, aby moje skrypty byly w miare bezpieczne?
Co myslicie o tym skrypcie http://hacking.pl/5845?
logowanie
<?php //inkluduje plik do bazy require_once('config/conf.php'); //Laczenie z baza moge połączyć sie z bazą danych. Przepraszamy z kłopoty'); Przepraszamy z kłopoty'); //znalazlem taka funkcje function usun($data){ } } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> <title>Logowanie</title> </head> <form method="post" action="logowanie.php"> <input type="text" name="login" /><br> <input type="password" name="haslo" /><br> <input type="submit" name="submit" value="zaloguj sie" /> </form> <?php $login=$_POST['login']; $haslo=$_POST['haslo']; { $message = 'Nie podales loginu.'; $login = FALSE; } else{ $login = usun($_POST['login']); } { $message = 'Nie podales hasla.'; $password = FALSE; } else{ $password = usun($_POST['login']); } // sprawdza czy jest login i haslo $loguj = mysql_query ("select login,haslo from users where login='$login' and haslo='$haslo'");//pobranie z bazy loginu i hasła wpisanego w formularzu { echo'<center> Podany login i haslo jest błędne</center>'; // jeżeli nie istnieje taki użytkownik to wyświetla błąd exit; } else { $_SESSION['zalogowany'] = $_POST['login']; // jeżeli istnieje taki użytkownik w bazie exit; } } } ?>
rejestracja
<?php require_once('config/conf1.php'); $login = usun($_POST['login']); }else{ $login = FALSE; $message .= '<font color="red">Proszę podać poprawny login bez cyfr!</font><br />'; // LOGIN..... PROSZE PODAC IMIE } if ( eregi ("^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+.[a-z]{2,4}$", stripslashes(trim($_POST['email'])))){ $email = usun($_POST['email']); }else{ $email = FALSE; $message .= '<font color="red">Proszę poprawny podać email!!!</font><br />'; // EMAIL.... PODAC TO PROSZE } if($_POST['pass'] == $_POST['pass2']){ $haslo = usun($_POST['pass']); }else{ $message .= '<font color="red">Podane hasła różnią się od siebie</font><br />'; } }else{ $message .= '<font color="red">Prosze podać hasło</font><br />'; } if ( $login && $email && $haslo ){ $query = "SELECT user_id FROM users WHERE login='$login'"; // sprawdzanie czy takie konto istnienie //dodajemy uzytkownika do bazy $query2 = "INSERT INTO users (login, email, haslo, data_rejestracji) VALUES ('$login', '$email', md5('$haslo'), NOW())"; if ($result2){ //jezeli nie wystapily zadne bledy }else{ echo 'Ze względu na wystąpienie błędu systemowego rejestracja nie była możliwa. Przepr
aszamy za wszelkie niedogodnościi.<br />'; } }else{ $message .= '<font color="red">Konto o podanym nicku juz istnieje</font><br />'; } }else{ $message .= '<font color="red">Spróbuj ponownie</font><br />'; } } ?>
prosze o pomoc