Yüklenen dosyalar indir olamaz özel bir dosya formatına dönüştürebilirsiniz

3 Cevap php

Ben yüklenen dosyaların indirme ve tasarruf önlemek için ilgili bir sorun var.

Benim kullanıcıları vb doc, pdf, ppt, gibi çoklu dosya türlerini yükleyebilirsiniz ...

Herhangi bir url varsa, bu tüm dosya türlerini kolayca indirebilir edilir.

Yani dosyanın indirilmesini engellemek için daha iyi bir yolu nedir.

Yoksa ben kolayca indirebilirsiniz olamaz bazı belirli bir biçime (örneğin flash) için yüklenen dosyaları dönüştürmek ..

Ben PHP ve MySQL üzerinde çalışan duyuyorum.

Thanks
Avinash

3 Cevap

Bu konuda iki seçeneğiniz var. İlk sunucunun web dizini dışındaki bir sunucu tarafı klasörüne, bir PHP komut dosyası aracılığıyla, dosyaları taşımak için. İkinci bir MySQL tablo bir BLOB sütundaki dosyaları saklamak için. Her ikisi de bir o kadar kolay indirilen formatına dosya dönüştürmek için gerek kalmadan, doğrudan dosyaları erişmesini engellemek olacaktır.

Belge kök dışında dosyalarını yükleyin. Örneğin:

/var/username/uploads/file.docx

nerede belge köküdür

/var/username/public_html/index.php

Yani doğrudan erişemez. Eğer indirme izin vermek istiyorsanız ve daha sonra, benzer bir şey yok "download.php" adlı bir PHP dosyası oluşturun:

$data  = file_get_contents('/var/username/uploads/file.docx');
header('Content-Type: application/docx');
header('Content-Length: '.strlen($data));
header('X-Content-Type-Options: nosniff');
echo $data;

ve tabii ki kullanıcının bu özel dosyayı indirmek için uygun izinlere sahip ya da oturum olup olmadığını görmek için denetimler ekleyebilirsiniz

A solution can be to set a user and a password to the upload folder, so only the users that know authentification details can download files. Check next link for learn how to make htpasswd files on your server folders:


http://httpd.apache.org/docs/1.3/programs/htpasswd.html