2010-05-31 4 views
3

Salut, je dois télécharger une vidéo.Mais je veux donner la permission seulement authentifier l'utilisateur à télécharger. Mais j'ai un problème dans ce.parce que si n'importe quel type de corps le détail de la vidéo dans le navigateur. http://sitename/folder_name/videoname) alors navigateur télécharger cette vidéo.mais je ne veux pas cela .please me suggérer comment puis-je résoudre ce problème.je soit devrait générer le nom de la vidéo au hasard ou faire un dossier temporaire dans lequel la vidéo réside uniquement pour un temps spécifique, après la vidéo sera supprimée. Ou si d'autres idées que vous avez s'il vous plaît laissez-moi savoir Merci d'avanceproblème de sécurité de téléchargement en php

+1

Voir ici: [Aide sécuriser l'accès aux fichiers avec htaccess et php?] (Http://stackoverflow.com/questions/2573496/help-securing-files-access-with-htaccess-and-php/) – deceze

Répondre

3

Téléchargez le fichier dans un dossier en dehors de la racine Web, de cette façon, il ne peut pas être consulté directement. Ensuite, créez un script qui fournira le fichier pour le navigateur, si l'utilisateur a des autorisations sur le fichier demandé. Et, par mesure de précaution, avant de créer une page fournissant des pages, veuillez rechercher les attaques de traversée de répertoire et assurez-vous que votre script ne sera pas vulnérable.

+0

salut merci pour me répondre mais vous venez de me dire est-il un script qui va vérifier l'authentification lorsque je tape l'URL comme http: [email protected]/video_folder/videoname.flv puis le premier script, puis le téléchargement de démarrage si l'utilisateur est authentifié – Badshah

0

Je pense que l'idée de Kim L'est le meilleur, mais si vous voulez juste le nom d'utilisateur/mot de passe un contrôle de base sur un répertoire, essayez ceci (si Apache2 héberge votre site):

Créer un fichier .htaccess dans le répertoire et le remplir avec quelque chose comme:

RedirectMatch 404 /passwd$ 
AuthType Basic 
AuthName "Password required" 
AuthUserFile /var/www/sitename/folder_name/passwd 
Require valid-user 

maintenant, ajoutez un fichier de mot de passe avec:

htpasswd -c -m /var/www/sitename/folder_name/passwd username 

et entrez un mot de passe lorsque vous êtes invité. Voir man htpasswd pour plus de détails.

Vous devrez configurer Apache2 pour utiliser les fichiers .htaccess avant que cela ne fonctionne, et il est probablement préférable de ne pas laisser le fichier passwd dans le même répertoire; il serait préférable de le stocker en dehors de la racine du document, mais montré ici juste pour un exemple.

Questions connexes