Blog Yazılarım

PHP PDO SQL İNJECTİON AÇIĞI KAPATMA

SQL INJECTİON İLE LOGİN HACK VE KORUNMA

Prepare Methodu

Login sayfasında email ve şifre kontrolü yaptığım sorgu için kullandığım mysql_query fonksiyonunu sınıfın prepare methodu ile değiştirdim bu sayede login formundan gelen verileri direk yazmak yerine parametrelerimi yazdım ve execute methodu ile bu parametrelere verilerimi atadım böylelikle pdo bizim yerimize güvenli bir şekilde sorguyu çalıştırdı.

 

PHP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$query = $db->prepare("SELECT * FROM users WHERE (username=:username OR email=:username) AND (password=:password)");
        $query->execute([
            ':username' =>  $username,
            ':password' =>  $password
        ]);
 
        if($query->rowCount() > 0){
          //sonuç dönüyorsa
          //echo 'giriş başarılı';
          $username = $query->fetch(PDO::FETCH_OBJ)->username;
          $_SESSION['user'] = $username;
          header('location: index.php');
          //sessiona kullanıcı adımı yazdırdım ve anasayfaya yönlendirdim
        }



Bu yazıyı paylaş

Yorumlar (0)

Yorum Yap