Tutuyor yüklenenler yeterince kötü niyetli yüklenenler güvenli benim uygulamayı tutmak için 'public_html' dışında klasör?

2 Cevap php

Ben yükleme sürecini güvence için farklı yaklaşımlar vardır farkında olmasına rağmen bu temel ilkelere gelince, ben yine kafam karıştı. Kullanıcıların istedikleri dosyanın her türlü yükleme, ama güvenli benim app tutmak için izin istiyorum. Yani benim soru:

Is it sufficient to store the files with their original names in 'uploads' folder outside 'webroot' and fetching them via some download.php script?

If it't not secure enough, please point me in the right direction, or suggest what additional steps I should take to make it safe. Thank you.

2 Cevap

Hayır, bu yeterli değildir.

Yüklenen dosyayı kaydetmek zaman, örneğin, (kötü niyetli hiçbir şey olmuyor emin olmalısınız dosyanın "orijinal adı" public_htm altında bazı PHP komut dosyası içeren bir şey "gibi.. / Başka bir yerde" başka bir dosyanın üzerine yazmak mümkün olabilir, eğer ki sonra) bir kraker erişimi daha yüksek düzeyde elde etmek için izin verecek. Bu rastgele bir isim oluşturmak ya da en azından kullanmadan önce orijinal dosya sterilize muhtemelen en bilge bulunuyor.

Benzer şekilde, download.php indirme dizinini dışında bir dosya almak içine 'kandırdın' olmanın bağışıklık olmalıdır.

Bu 'kötü niyetli yüklemeler' demek ne bağlıdır.

VE saldırı veya veri zehirlenmesi hizmet reddi için bir potansiyel hala var basename ($ uploaded_name) kullanarak dosyaları adlandırmak emin - Eğer özel bir dizin var olsa bile Artelius, anlaşılacağı gibi. Dosyası için benzersiz bir ad oluşturma ve başka özgün adını saklamak biraz daha güvenli olacaktır.

Ancak anonim bir üçüncü taraf sitesine saldırmaya çalışan biri için büyük bir kaynak sağlamaz - - başka yerde kodunda hiçbir güvenlik açıkları vardır varsayarsak, bu yaklaşım ele geçirilmesini sitenizde kod önlemek gerektiğini sitenizden içeren bir uzaktan tetikleyebilir eğer.

Ayrıca, virüs bulaşmış dosyaları, çalıntı içerik ve bazı yerlerde (örneğin, porno) de kaçak kabul edilebilir içerik yükleme kullanıcıların kendinizi ne de meşru kullanıcıları korumak için gidiyoruz dedi nasıl yok ettik.

C.