Web sitelerinin input girişlerinden en büyük yazılım açıklarından biriside SQL Injection açığıdır.
Aslında bu açığı engellemek çok kolaydır fakat üşengeçlik veya unutmadan dolayı bir çok site bu açıktan kurtulamıyor.
function TemizVeri($mVar){ if(is_array($mVar)){ foreach($mVar as $gVal => $gVar){ if(!is_array($gVar)){ $mVar[$gVal] = htmlspecialchars(strip_tags(urldecode(mysql_escape_string(addslashes(stripslashes(stripslashes(trim(htmlspecialchars_decode($gVar))))))))); // -> Dizi olmadığını fark edip temizledik. }else{ $mVar[$gVal] = TemizVeri($gVar); } } }else{ $mVar = htmlspecialchars(strip_tags(urldecode(mysql_escape_string(addslashes(stripslashes(stripslashes(trim(htmlspecialchars_decode($mVar))))))))); // -> Dizi olmadığını fark edip temizledik. } return $mVar; // Yusuf KAHRAMANER }
Kullanımı ise ;
$_GET = TemizVeri($_GET); // GET verilerini temizledik. $_POST = TemizVeri($_POST); // POST verilerini temizledik. $_SESSION = TemizVeri($_SESSION); // SESSION verilerini temizledik. $_COOKIE = TemizVeri($_COOKIE); // COOKIE verilerini temizledik.
Kaynak: http://www.kahramaner.com/yazilim/sql-injection-php-fonksiyon-engelleme/