Blog Php Sql injection Güvenliği
Paylaşımlar
İptal

Php Sql injection Güvenliği

Çoğu sistemin eskiden ve hala günümüzde bile aktif olarak bırakılan güvenlik açığı “SQL Injection” yani veritabanı zehirleme işlemi

Peki bu açık ne işe yarar?

SQL Injection açığı sitenin veritabanına sızıp verilerin çalınmasına yol açar bu sitenin admin yani yönetim bilgileride olabilir sitedeki gizli belgelerde olabilir

Peki bu açık nasıl uygulanıyor?

Bu açık php ile veritabanında sorgu yaparken string uygulaması ile sql’de örnek olarak yazılar veritabanında arama yaparken o aramayı durdurup farklı bir veritabanına geçip orada ki verileri göstermesidir kısaca php ile sitenizde arama bölümü yaptınız ara.php?s=yazi fakat kişi sql injection işlemi uygulayarak yazı değilde farklı kodlar ile sitenin yönetim bilgilerini aramış gibi gösterip şifrelerinizi çalabiliyor

Peki bu açığı nasıl önleriz?

Bunun için kısa bir fonksiyon geliştirdik bu fonksiyon ile aldığınız verileri sorguya dökebileceksiniz

<?php
function koruma($k) {
if(preg_match("/[\-]{2,}|[;]|[']|[\\\*]/",$k)) {
echo '';
exit;
} else {
echo '';
}
}

koruma($_GET["ara"]);
?>

Fonksiyon şu şekilde bir işlem uyguluyor veride sql injection karakterleri var ise yani ‘ gibi karakterler var ise exit; atarak tüm işlemi sonlandırıyor

koruma($veri); şeklinde sorgu yapabilirsiniz.

Bu yazı yazar tarafından DMCA altında lisanslanmıştır.