PHP SQL Injection Açığı Nasıl Önlenir
profileImg PHP SQL Injection Açığı Nasıl Önlenir
PHP

Merhaba, PHP SQL Injection Açığı Nasıl Önlenir bundan bahsedeceğim. Web sitesi kodlarken oluşturmuş olduğunu sorgular sizin kabusunuz olabilir. Kötü kullanıcılar oluşturmuş olduğunuz sorguları size bir silah olarak kullanabilir ve sisteme sızabilir. Peki biz sorgumuzu nasıl oluşturmalıyız? 

PHP SQL Injection Açığını kapatmak için oluşturmuş olduğumuz sorgulara direk verileri girmememiz gerekiyor. Bunun için PDO'nun bize sağladığı prepare() fonksiyonunu kullanacağız.

Verilerimizi sorgu içerisinde kullanmadan işlem yapacağız bu sayede SQL Injection Açığını önleyeceğiz.

PHP SQL Injection Açığı Nasıl Önlenir


$email = $_POST["email"];
$password = $_POST["password"];
$sorgu = $db->prepare("SELECT * FROM uyelik WHERE email=? and password=?");
$sorgu->execute(array($email, $password));

Yukarıda sizin için güvenli bir SQL sorgusu oluşturdum. 

$sorgu = $db->prepare("SELECT * FROM uyelik WHERE email=? and password=?");

Sorguda gördüğünüz üzere email=? and password=? şeklinde bir kullanım yaptım. Sorgu içerisinde herhangi bir veri gönderimi yapmadım. Bu kullanım ile SQL Injection Açığını kapattık.

$sorgu->execute(array($email, $password));

Verilerimi execute() fonksiyonu içerisinde işledim. Bu sayede verilerim SQL sorgusu içerisine girmedi.

Herhangi bir sorunda Soru & Cevap alanından soru sorabilirsiniz. İyi günler dilerim.