Görüntü yüklerken dosya türüne $_FILES
dan güvenebilir miyim? Yoksa exif_imagetype()
ile tekrar kontrol etmem gerekiyor mu?
cevap
: Tarayıcının bu bilgiyi sağlaması durumunda
dosyanın MIME türüdür. Bir örnek "image/gif" olacaktır. Ancak bu mime türü PHP tarafında kontrol edilmemekte ve bu nedenle verilen değeri almamaktadır.
Ben her zaman geçerli görüntülerde kontrol yanındaki işlevini kullanın:
function Check_Image($Filename) {
if ($Check_Image = @getimagesize($Filename)) {
return TRUE;
}
return FALSE;
}
dışarıdan gelen bir şey, özellikle dosya yüklemeyi asla güvenme!
Boyut, konum, mime/type, extenstion ve kontrol edebileceğiniz başka bir şey olup olmadığını kontrol edin! documentation itibaren
Ancak bu tür dışarıdan geliyor mu? Yoksa php tarafından eklenmiş bir şey mi? – HappyDeveloper
Tarayıcı bunu sağlar, ona güvenmeyin. –
@Wesley van Opdorp da kararlaştırdı, eğer varsa * içeriğini * kontrol edin. – Cheekysoft
Hayır, güvenemiyorsunuz çünkü this information is provided by the client browser.
$_FILES['userfile']['type']
tarayıcı bu bilgiyi sağlaması durumunda dosyanın MIME türüdür. Bir örnek "image/gif" olacaktır. Ancak, bu kenar türünün PHP tarafında kontrol edilmez ve bu nedenle değerini verilen değerde almaz.
Hayır, $_FILES['userfile']['type']
değişkenine güvenemezsiniz. Bu değişkende mevcut olan değer dövülebilir. Sen daha güvenilir dosya türünü tespit etmek için finfo_file
kullanabilirsiniz:
$finfo = finfo_open(FILEINFO_MIME_TYPE); // we need mime type
echo finfo_file($finfo, "/path/to/uploaded/file"); // displays something like image/gif
finfo_close($finfo);
Bu işlevler PHP> = 5.3.0 gerektirir.
- 1. Sırasız bir haritanın sırasına güvenebilir miyim?
- 2. Web API kullanarak CallContext'e güvenebilir miyim?
- 3. C# temsilcisinin imzasını türüne göre alabilir miyim?
- 4. Nullptr'i diğer işaretçi türüne atayabilir miyim?
- 5. Sunucuya girişte dosya türüne erişim asp.net
- 6. C++ 'da vektör sınırlarını kontrol etmek için kısa devre değerlendirmesine güvenebilir miyim?
- 7. Özel değer türüne bir son ek atayabilir miyim?
- 8. Swift'de bir protokol türüne metaclass nesnesi atayabilir miyim?
- 9. Tercihler dosya adını değiştirebilir miyim?
- 10. Android'de, dosya türüne göre bir uygulama seçiciyi nasıl görüntüleyebilirim?
- 11. Sublime 2 dosya türüne göre değişen arka plan rengi?
- 12. C# Dosya uzantısına sahip olmak türüne göre içerik türü
- 13. arabirimi {} işlev türüne dönüştürebilme
- 14. Windows'da Adlandırılmış Boruları Dosya Olarak Kullanabilir miyim?
- 15. iPhone'umun dosya sistemine Xcode kullanarak erişebilir miyim?
- 16. , int türüne ilişkin değeri int türüne dönüştürülemiyor CGGradientDrawingOptions
- 17. Boost.Proto dilbilgisi türüne eşleme
- 18. Türetilmiş türüne öznitelikleri ekleme
- 19. karşılaştırmak ve nesne türüne
- 20. ElasticSearch koşullu filtre sorgusu türüne göre
- 21. Aynı adı kullanarak, çevreleyen bir kapsamdaki türüne üye takma ad bildirebilir miyim?
- 22. Karbon nesne türüne nasıl erişilir?
- 23. 'void' türünden 'bool' türüne dönüştürülemez.
- 24. CGFloat türüne değer atanamıyor NSLayoutConstraint
- 25. Geçerli sınıfın türüne nasıl başvurabilirim?
- 26. X türünden x türüne dönüştürülemiyor?
- 27. JSON dizisini türüne dönüştüremiyor - Json.NET
- 28. oracle blob'u xml türüne dönüştürün
- 29. İşlev türüne ilişkili genel parametre
- 30. tip beklenen argüman türüne '[T]' '[_]'
Mükemmel, teşekkürler – HappyDeveloper