• 23-10-2012, 19:30:36
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba,

    php'de resim upload yaparken konunun en altındaki kodu kullanıyorum. Kodu okumanıza gerek yok, açıklayayım. Type ine baktırıp jpeg izin veriyorum ve boyutunu da 350kb yapıyorum. Bu yeterince güvenli midir ? Daha güvenli hale nasıl getirebilirim ?



    <?php
    //Сheck that we have a file
    if((!empty($_FILES["uploaded_file"])) && ($_FILES['uploaded_file']['error'] == 0)) {
      $filename = basename($_FILES['uploaded_file']['name']);
      $ext = substr($filename, strrpos($filename, '.') + 1);
      if (($ext == "jpg") && ($_FILES["uploaded_file"]["type"] == "image/jpeg") && 
        ($_FILES["uploaded_file"]["size"] < 350000)) {
          $newname = dirname(__FILE__).'/upload/'.$filename;
          if (!file_exists($newname)) {
            if ((move_uploaded_file($_FILES['uploaded_file']['tmp_name'],$newname))) {
               echo "It's done! The file has been saved as: ".$newname;
            } else {
               echo "Error: A problem occurred during file upload!";
            }
          } else {
             echo "Error: File ".$_FILES["uploaded_file"]["name"]." already exists";
          }
      } else {
         echo "Error: Only .jpg images under 350Kb are accepted for upload";
      }
    } else {
     echo "Error: No file uploaded";
    }
    ?>
  • 23-10-2012, 19:36:10
    #2
    Üyeliği durduruldu
    şuan en güvenli şekilde, burayı geçeceklerini zannetmem ki geçemezlerde jpg shell için yapıyorsan birde htaccess eklersen mis
  • 23-10-2012, 19:36:56
    #3
    table adlı üyeden alıntı: mesajı görüntüle
    şuan en güvenli şekilde, burayı geçeceklerini zannetmem ki geçemezlerde jpg shell için yapıyorsan birde htaccess eklersen mis
    htaccess ' e nasıl bir kod eklemeliyim ?
  • 23-10-2012, 19:45:42
    #4
    Bu jpg yüklenen klasörde .htaccess ile betik dosyalarının çalışmasını engelleyebilirsin.
  • 23-10-2012, 19:50:24
    #5
    Üyeliği durduruldu
    ata350 adlı üyeden alıntı: mesajı görüntüle
    htaccess ' e nasıl bir kod eklemeliyim ?
    bulunca yazıcam, aklımda değil.
  • 23-10-2012, 20:29:53
    #6
    Klasördeki php çalışmasını engellemek için

    access dosyasına
    php_flag engine off
  • 23-10-2012, 20:34:16
    #7
    Kimlik doğrulama veya yönetimden onay bekliyor.
    script güzel basit gayet geliştirilebilir, burada güvenlik açısından yapacağın en büyük GELİŞTİRME,

    Serverdaki upload klasorune yüklenen resmin yüklenmeden önce İSMİNİ değiştirmek olacaktır, kafana göre nasılsa açık kodu senden başka kimse görmeyeceğine göre evet kafana göre bir algoritma kullanabilirsin,

    resmin ismini böl çarp, başka bişeyler ekle, MD5 ini bul 32 hanelik isim ver gibi gibi gibi,

    ardından isim değiştirme algoritmandan yada fonksiyonundan sonra diyelim, resmin servera upload edilme işini yapabilrsin.

    Böylece resmi yükleyen kişinin virüs yüklediğini varsayarsak ve evet bunu bir şekilde yüklediğini ...

    dosya ismini biliyorsa resme ulaşması mumkundur, ama php ile ismi değişmiş bir dosyaya ulaşması çok çok çok zor olacaktır.

    1- resim isminin değişmesi,
    2- upload klasorune direk dışardan eşimin kapatılması,

    iyi iki güvenlik önemli olacaktır, şu an için 3 bir güvenlik önlemi aklıma gelmedi doğrusu

    ama yinede orada YİNEDE DİYORUM, orada file type kontrolu olsada,

    kendi yasaklı uzantılarını oluşturup, 7Z, AMD, DLL, INI, PHP, PHP3, PHP4 gibi gibi DOSYA uzantılarını kendi yazacağın bir kontrol ile kontrol etmende faydalı olabilr, eğer bu kkontrolu GEÇERSE dosya yani uygunsa ozaman

    file type kontrolu yapılsın, böylece 2 YE KATLAMIŞ OLURSUN ,,, önlemleri hem serverı kasacak işlemlerde değil bu tür ....
  • 23-10-2012, 23:17:22
    #8
    NEFRIT adlı üyeden alıntı: mesajı görüntüle
    script güzel basit gayet geliştirilebilir, burada güvenlik açısından yapacağın en büyük GELİŞTİRME,

    Serverdaki upload klasorune yüklenen resmin yüklenmeden önce İSMİNİ değiştirmek olacaktır, kafana göre nasılsa açık kodu senden başka kimse görmeyeceğine göre evet kafana göre bir algoritma kullanabilirsin,

    resmin ismini böl çarp, başka bişeyler ekle, MD5 ini bul 32 hanelik isim ver gibi gibi gibi,

    ardından isim değiştirme algoritmandan yada fonksiyonundan sonra diyelim, resmin servera upload edilme işini yapabilrsin.

    Böylece resmi yükleyen kişinin virüs yüklediğini varsayarsak ve evet bunu bir şekilde yüklediğini ...

    dosya ismini biliyorsa resme ulaşması mumkundur, ama php ile ismi değişmiş bir dosyaya ulaşması çok çok çok zor olacaktır.

    1- resim isminin değişmesi,
    2- upload klasorune direk dışardan eşimin kapatılması,

    iyi iki güvenlik önemli olacaktır, şu an için 3 bir güvenlik önlemi aklıma gelmedi doğrusu

    ama yinede orada YİNEDE DİYORUM, orada file type kontrolu olsada,

    kendi yasaklı uzantılarını oluşturup, 7Z, AMD, DLL, INI, PHP, PHP3, PHP4 gibi gibi DOSYA uzantılarını kendi yazacağın bir kontrol ile kontrol etmende faydalı olabilr, eğer bu kkontrolu GEÇERSE dosya yani uygunsa ozaman

    file type kontrolu yapılsın, böylece 2 YE KATLAMIŞ OLURSUN ,,, önlemleri hem serverı kasacak işlemlerde değil bu tür ....
    Çok teşekkürler, dediğiniz işlemleri yaptım random sayı oluşturup bu sayıyı md5 ' e çevirdim
  • 13-11-2021, 21:40:53
    #9
    miscel adlı üyeden alıntı: mesajı görüntüle
    Klasördeki php çalışmasını engellemek için

    access dosyasına
    php_flag engine off
    valla hocam tam istediğim gibi