Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Resim dosyası mı değil mi kontrolü nasıl yapılır ?

Üyeler avatar yüklerken örneğin
$rtipi = $_FILES["resim"]["type"];

ile resim tipini alıp bunun kontrolünü
if(($rtipi!="image/jpeg") && ($rtipi!="image/gif") && ($rtipi!="image/png")){
bilgi("Uyarı","Resim formatı,jpeg,png yada gif olabilir..");
header("Refresh:2;index.php?Git=profil");

Bu şekilde yapabiliyoruz.
Ama bazı uyanık üyeler,resim formatı olmadığı halde,virüslü bir dosyanın ya da başka kötü amaçla yazılmış dosyaların uzantılarını jpg,gif,png diye değiştirip,sisteme zarar verebiliyorlarmış.
Bunun önüne nasıl geçebiliriz acaba?
Yani yüklenen dosyanın gerçekten resim dosyası mı olduğunu nasıl anlayabiliriz.Uzantıları jpeg olarak değiştirilse bile resim dosyası olmadığını nasıl anlayabiliriz acaba.
Cevaplar için şimdididen teşekkürler..
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • sharq adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    115 cevap - 141 soru
    image/jpeg diye arattırıyosun zaten uzantıyı arattrmıyosun eğer uzantıyı aratsaydın sadece .jpg diye dediğin doğruydu ama keyloger yükler sitene ve pek bişi olcanı sanmıyorum yani banka sitesi falan ypmıyosan pek önemli deil ;)
    ve bunun bi yolu yok diye biliyorum..
    • paradigma adlı üyenin fotoğrafı paradigma
      ama örneğin bi metin belgesinin txt uzantısını jpeg olarak ya da gif olarak değiştireyim,bunu resim dosyası olarak görüp yükleme yapıyor.evet resim olmadığında siyah çıkıyor ama sonuçta yükleme olayı gerçekleşiyor.ama birisi kalkıp kötü amaç için yazılmış bi dosyanın ya da ne bileyim virüslü bi dosyanın uzantısını jpeg ,png diye değiştirirse ve bunu siteye yüklerse,bu sisteme zarar verebilirler.
      Bunu php nin GD kütaphenesi kullanılarak yapıldığını duydum araştırdım ama tam olarak nasıl yapacağımı bulamadım.
      Bu kod,yüklenen dosyayın gerçekten resim dosyası olup olmadığını tek başına malesef kontrol edemiyor.Uzantıları jpeg,png vs olarak değiştirdiğin tüm dosyaları yükleyebiliyorsun.Bunu engellemenin bir yolu var mıdır acaba?
      if(($rtipi!="image/jpeg") && ($rtipi!="image/gif") && ($rtipi!="image/png")){
      bilgi("Uyarı","Resim formatı,jpeg,png yada gif olabilir !");
      
      10 yıl önce yazılmış
    • sharq adlı üyenin fotoğrafı sharq
      böle birşey başıma gelmedi hiç o yüzden bu konu hakkında bi bilgim yok malesef.
      10 yıl önce yazılmış
    • paradigma adlı üyenin fotoğrafı paradigma
      hımm peki teşekkür ederim yine de..
      Bu konuda bilgisi olan arkadaşlar yardımcı olurlarsa sevinirim :)
      10 yıl önce yazılmış
  • artar adlı üyenin fotoğrafı
    10 yıl önce yazılmış
    2 cevap - 0 soru
    Bence gönderilen resim dosyasının boyutlarını öğrenmek istediğinde
    resim dosyası olmayan hata verecektir.
    Bu hatadan resim olup olmadığını anlayabilirsin
    • paradigma adlı üyenin fotoğrafı paradigma
      hımm bu da bi mantık teşekkürler artar
      10 yıl önce yazılmış