PHP ile get, post temizleme

PHP ile get, post temizleme

Veritabanınımıza veri girişi yaparken oldukça SQL saldırılarına dikkatli olmalıyız. Bu konuda alabileceğimiz en önemli tedbir veritabanına kayıt edilecek bilgilerinizi temizlemektir

 

<?php
function cleanInput($input) {
 
  $search = array(
    '@<script[^>]*?>.*?</script>@si',   // Javascript kodlarını temizleme
    '@<[\/\!]*?[^<>]*?>@si',            // HTML kodlarını temizleme
    '@<style[^>]*?>.*?</style>@siU',    // Stil kodlarını düzenleme
    '@<![\s\S]*?--[ \t\n\r]*>@'         // Çoklu yorum satırlarını temizleme
  );
 
    $output = preg_replace($search, '', $input);
    return $output;
  }
 
function sanitize($input) {
    if (is_array($input)) {
        foreach($input as $var=>$val) {
            $output[$var] = sanitize($val);
        }
    }
    else {
        if (get_magic_quotes_gpc()) {
            $input = stripslashes($input);
        }
        $input  = cleanInput($input);
        $output = mysql_real_escape_string($input);
    }
    return $output;
}
 
//YUKARIDAKİ FONKSİYONLARIN KULLANIMI
 
  $kotu_veri = "Merhaba <script src='http://www.kotuniyetlibirsite.com/kotu_script.js'></script>guzel bir gun!";
  $temiz_veri = sanitize($kotu_veri);
   
  echo $temiz_veri;
   
  // Çıktı: Merhaba guzel bir gun!"
 
  // Ya da formlardan gelen veriyi şu şekilde temizleyebilirsiniz:
  //$_POST = sanitize($_POST);
  //$_GET  = sanitize($_GET);
?>

 

Kaynak : http://www.yakuter.com/php-ile-veritabani-girdilerini-temizleme/

Hakan AK

Son Yazılar