SQL injection

Sql açığını bağlamaq

Sql açığını bağlamaq

Sql açığını bağlamaq üçün mysqldən gələn və mysqlə gedən məlumatları zərərli kodlardan təmizləmək lazımdır. Bu zaman program verilənləri kod kimi deyil mətn kimi oxuyacaq . 
Bu iş üçün PHP dilində mysql_real_escape_string( pdo = quote() ),intval,htmlspecialchars,trim (boşluğu aradan qaldırmaq üçün) kimi funksiyalar mövcuddur 
Nümünə : $a=$_GET['id']; Bu dəyişkəni belə yazmaq lazımdır. $a=htmlspecialchars(trim($_GET['id'])); 
Qeyd : bundan başqa where id=".$i." kimi sorğuları where id='".$id."' kimi yazmaq daha uyğundur 
Bunu etdikdən sonra dəyişkən stringə çevriləcək və mysql üçün heç bir təhlükə yaratmayacaq _ Əgər sizin dəyişkəndə yalnız rəqəmlər olacaqsa $a=intval($_GET['id']); yazmaq kifayət edər yuxarıdakı kodu hər dəyişkəndə etdikdə uzun ola bilər buna görə funksiya yazaq 

//mysql sorğusudursa function antisql($antihucum){ 

return htmlspecialchars(trim(mysql_real_escape_string($antihucum))); 

} //mysql sorğusu deyilsə function antimethod($antihucum){ 

return htmlspecialchars(trim(strip_tags($antihucum))); 


bu zaman sadəcə $a=antisql($a); yazmağımız kifayətdir kodu yoxlayaq 

 
Gördüyümüz kimi heç bir xeta yoxdur açıq bağlandı.