• 20-01-2013, 14:34:32
    #1
    Üyeliği durduruldu
    Merhabalar resim upload ederken ne gibi önlemler alınabilir bu konu hakkında yardımcı olabilecek olan varmıdır acaba.

    Elimde bir fonksiyon var işe yarar mı daha gelişmişi varmıdır yoksa

    Fonksiyon;
     # Resim güvenlik için, $_FILES ile gelen resim'i bu fonksiyondan geçirin geriye Boolean bir değer döner
     # Resim'in bir hack girişimi olup olmadığını kontrol eder.
     function resim_hack($resim)
     {
     global $uzanti;
     
     $type = file_extension($resim);
     if(!in_array($type, $uzanti))
     return false;
     
     $data = '';
     if($data = @file_get_contents($resim) === FALSE)
     if($data = @file($resim) === FALSE)
     if($data2 = @fopen($resim, "r") === FALSE)
     {
     $data = fread($data2, 1024);
     fclose($data2);
     }
     if(trim( $data ) == '')
     return true;
    if(!preg_match("#<html|<head|<script|<style|<body| <form|<input|<iframe|<object|<embed#si", $data))
     return false;
     return true;
     }
  • 20-01-2013, 15:08:20
    #2
    resim upload ederken en önemli şey resim kütüphanelerinden birini kullanmak.
    önce uzantıya bakıp beklenmeyen uzantıyı reddedeceksin.
    eğer uzantı beklenildiği gibiyse direk kaydetmek ya da taşımak yerine mesela GD libraries üzerinden yüklenen dosyadan kaynağını alan (imagecreatefromgif() - imagecreatefrompng() - imagecreatefromjpeg() ) hazır resim üretme fonksiyonları ile resimyaratacaksın. Böylecek yüklenen dosyanın birer bir (varsa içindeki zararlı kod ile) kullanılmasını engelleyeceksin.