Protéger des fichiers.

ViPHP
AB
ViPHP | 5818 Messages

24 janv. 2009, 05:19

Faire les choses une par une.

Déjà commences par faire un script php qui te permette de proposer le téléchargement d'un fichier contenu dans un répertoire protégé par le .htacess

Ensuite l'utilisation des frames, c'est une technique obslolete. Faudrait vraiment essayer de t'en passer.

Eléphant du PHP | 50 Messages

24 janv. 2009, 11:15

Salut,

J'ai réussi le téléchargement comme tu me l'avais dis. Cependant il me reste l'affichage de PDF et apparemment c'est toujours dans une frame -_-". Sinon la technique que j'ai trouvé consiste à copier à l'ouverture de la page avec la frame le fichier vers un dossier tmp/ depuis pdf/ et renommer le fichier. Ensuite quand un utilisateur charge une page je supprime tous les fichiers pdf ayant plus de 15 secondes donc dans tous les cas le lien n'est plus valide après 15 secondes et il change à chaque fois. Cela pourrait donc en partie résoudre mon problème. Cependant, cette solution n'est pas idéale.

Merci pour ta réponse.
+

ViPHP
ViPHP | 1996 Messages

24 janv. 2009, 12:33

Tu n'as pas compris mon problème !
Si je fais ça je suis d'accord qu'il ne peut pas télécharger sans être connecté ni voir le PDF mais !

Imagine tu te connecte
Tu copie l'adresse du fichier que tu télécharge
Et tu te déconnecte

bah si tu revas sur le lien source du fichier tu peut le télécharger car le fichier en lui mm n'est pas verrouillé, juste l'accès au lien du fichier tu comprends ?

++
Bonjour Jeremica,

J'ai eu la même idée que toi :
Je le dossier où tous les fichiers étaient répertoriés via .htaccess avec deny from all
Je garde la trace des propriétaires des fichiers via ma base de donnée où je récupère l'identifiant que je stocke dans la session
Je leur donne accès via un lien en Get : http://monsite.fr/telecharger.php?actio ... =cefichier
Je vérifie que "cefichier" appartient bien au visiteurs via son identifiant que j'ai stocké dan la session : donc si pas de session , pas de fichier
Si c'est bien le propriétaire : si action = téléchargement, je mets un header pour le téléchargement
Si c'est bien le propritéaire : si action = affichage, j'affiche avec un autre header

Aussi si lors de ta deconnexion tu mets session_destroy();, le fait de cliquez sur un lien ne donnera pas l'accès au fichier.
il faut cependant que tu n'indiques pas où se situent les fichiers i.e. si tes fichiers se situent dans www/fichier_secret/, il ne faut pas que ton lien pointent vers ce dossier mais dans ta page téléchargement.php tu ais header ("Location : fichier_secret/cefichier")
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphant du PHP | 50 Messages

24 janv. 2009, 14:59

Merci à tous pour votre aide précieuse !

Résolu.
Devoir de mémoire : http://voyage-etude-auschwitz.net
Projet de classe réalisé suite à un voyage au camp d'Auschwitz.