mysqli_real_escape_string() fonksiyonu, güvenli olmayan karakterleri veritabanı sorgularında kullanılmak üzere güvenli hale getiren bir PHP fonksiyonudur. Bu işlev sayesinde, örneğin bir kullanıcının girişi gibi, güvenli olmayan karakterlerin (böylece SQL enjeksiyonu gibi saldırı teknikleri) sorgulanmasına veya veritabanına eklenmesine neden olmayacaktır.
Kullanımı:
mysqli_real_escape_string() fonksiyonu, mysqli bağlantı nesnesi üzerinde çalışan bir fonksiyondur ve ilk argüman olarak bu bağlantı nesnesi ve ikinci argüman olarak veritabanına eklenmek istenen karakter dizisini alır. Bu işlev, veritabanına eklenecek karakterleri kaçıracak ve böylece karakter dizilerinin güvenliğini sağlayacaktır.
Örnek Kodlar:
Örnek olarak, kullanıcıların girdiği verilerin MySQL veritabanına eklenmesi için bir web formu düşünelim. Aşağıdaki örnek kod, kullanıcının girdiği verileri mysqli_real_escape_string() fonksiyonu ile güvenli hale getirerek veritabanına ekler:
// MySQL veritabanı bağlantısı oluştur
$conn = mysqli_connect(\"localhost\", \"kullanici_adi\", \"sifre\", \"veritabani_adi\");
// Kullanıcının girdiği verileri al
$ad = mysqli_real_escape_string($conn, $_POST['ad']);
$email = mysqli_real_escape_string($conn, $_POST['email']);
$mesaj = mysqli_real_escape_string($conn, $_POST['mesaj']);
// Veritabanına verileri ekle
$sql = \"INSERT INTO mesajlar (ad, email, mesaj) VALUES ('$ad', '$email', '$mesaj')\";
mysqli_query($conn, $sql);
?>
Bu örnekte, kullanıcının girdiği ad, email ve mesaj gibi verileri mysqli_real_escape_string () fonksiyonu ile güvenli hale getiriyoruz. Bu işlev, her karakter dizisindeki herhangi bir özel karakteri \\\"%\\\", \\\"'\\\" ve \\\"\\\\\" gibi şekillerde kaçıracaktır.
Sonuç olarak, mysqli_real_escape_string () fonksiyonu, veritabanı sorgularına veya girdileri eklemeye kullanılan karakterleri kaçırmayı sağlayan önemli bir güvenlik işlemidir ve PHP programlama dilinde çok önemli bir yer tutar.