Witam!
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'];
if (isset($_POST['submit'])){ if (empty ($_POST ['login'])) {
$message = 'Nie podales loginu.';
$login = FALSE;
}
else{
$login = usun($_POST['login']);
}
if (empty ($_POST ['password'])) {
$message = 'Nie podales hasla.';
$password = FALSE;
}
else{
$password = usun($_POST['login']);
}
// sprawdza czy jest login i haslo
if (isset($_POST['login']) && isset($_POST['haslo'])){ $login = trim($_POST['login']); // z loginu usuwamy spacje $haslo = md5($_POST['haslo']); //hasło kodujemy w MD5 $loguj = mysql_query ("select login,haslo from users where login='$login' and haslo='$haslo'");//pobranie z bazy loginu i hasła wpisanego w formularzu if(mysql_num_rows($loguj)==0)// sprawdzenie czy dany użytkownik istnieje w bazie {
echo'<center> Podany login i haslo jest błędne</center>'; // jeżeli nie istnieje taki użytkownik to wyświetla błąd }
else
{
$_SESSION['zalogowany'] = $_POST['login']; // jeżeli istnieje taki użytkownik w bazie
Header('location: index.php');//To go przenosi }
}
}
?>
rejestracja
<?php
if (isset($_POST['submit'])){ 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
}
$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
echo 'Zostałes zarejestrowany na stronie'; }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