2010-03-04 5 views
1

J'ai un problème concernant le téléchargement et l'enregistrement des fichiers téléchargés.Convertir les fichiers téléchargés dans un format de fichier spécifique qui ne peut pas être téléchargé

Mes utilisateurs peuvent télécharger plusieurs types de fichiers comme doc, pdf, ppt, etc ....

Cette tous les types de fichiers sont facilement télécharger si quelqu'un a URL.

Alors, quel est le meilleur moyen d'empêcher le téléchargement du fichier.

Ou je convertir les fichiers téléchargés dans un format spécifique qui ne peut pas télécharger facilement (par exemple flash) ..

Je suis en cours d'exécution sur php et mysql.

Merci
Avinash

+1

Tenir compte ce qui se passe si je télécharge un fichier PHP – Cheekysoft

Répondre

2

Vous avez deux options à cet égard. La première consiste à déplacer les fichiers, via un script PHP, vers un dossier côté serveur en dehors du répertoire Web du serveur. La seconde consiste à stocker les fichiers dans une colonne BLOB dans une table MySQL. Les deux empêcheront les utilisateurs d'accéder directement aux fichiers, sans avoir à convertir le fichier en un format qui n'est pas si facile à télécharger.

1

Téléchargez les fichiers en dehors de la racine de votre document. Par exemple:

/var/username/uploads/file.docx 

où la racine de votre document est

/var/username/public_html/index.php 

Ils ne peuvent pas être directement accessibles. Et puis si vous voulez autoriser les téléchargements, créer un fichier PHP appelé « download.php » qui fait quelque chose de similaire à:

$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; 

et, évidemment, vous pouvez ajouter des contrôles pour voir si l'utilisateur dispose des autorisations appropriées pour télécharger ce fichier ou est connecté.

0

Une solution peut être de définir un utilisateur et un mot de passe pour le dossier de téléchargement, de sorte que seuls les utilisateurs qui connaissent les détails d'authentification peuvent télécharger des fichiers. Vérifiez lien suivant pour savoir comment rendre les fichiers htpasswd sur vos dossiers serveur:


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


Questions connexes