Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/10/2006, 12h40   #1
Membre éclairé
 
Avatar de Huntress
 
Inscription : août 2004
Messages : 454
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 454
Points : 339
Points : 339
Par défaut [Sécurité] Authentification au téléchargement

Bonjour,

Je me trouve probablement sur le mauvais forum, mais je sais pas trop où poster...

J'ai un problème de sécurité. J'aimerais pouvoir sécuriser le téléchargement d'un fichier (.exe, .jpg. zip... peu importe). La problématique EST donc que la "personne mal-intentionnée" connait l'url finale, celle qui pointe vers ce fichier... voyez-vous... ?

Où est-ce que je dois regarder ? Sachant que j'aimerais une authentification par login / mot de passe. Et déjà est-ce possible selon vous ?

EDIT : tiens je me demande si je ne veux pas la même chose que lui : http://www.developpez.net/forums/sho...d.php?t=220793
__________________

Règle n°1 du forum francophone : Parler le français...
Pas de question technique par MP, le forum est fait pour çà, merci.
Huntress est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2006, 12h49   #2
Membre expérimenté
 
Inscription : avril 2006
Messages : 462
Détails du profil
Informations personnelles :
Âge : 33
Localisation : Canada

Informations forums :
Inscription : avril 2006
Messages : 462
Points : 556
Points : 556
Envoyer un message via MSN à rbaatouc Envoyer un message via Skype™ à rbaatouc
solution 1 : tu mets tes fichiers en dehors su répertoire web

solution 2 : tu mets un fichier htaccess dans le repertoire ou se trouve les fichiers à télécharger avec un deny from all
rbaatouc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2006, 12h51   #3
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
http://php.developpez.com/faq/?page=...rotectdownload

Sinon pour améliorer cette solution, tu peux rajouter de la réécriture d'URL :
http://www.developpez.net/forums/sho...04&postcount=5
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2006, 14h08   #4
Membre éclairé
 
Avatar de Huntress
 
Inscription : août 2004
Messages : 454
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 454
Points : 339
Points : 339
Merci pour vos réponses.

J'ai tenté le "deny fom all", j'ai pas réussi il me dit erreur 403 quand je clique sur mon lien...

En gros ce que j'ai fait, c'est un index.php qui contient un lien qui pointe bêtement sur fichiers/image.jpg. Et le dossier fichiers contient mon htaccess et image.jpg bien sûr.

Et j'ai aussi lu la FAQ, et je me rends compte que je change un peu de position par rapport à ce que j'ai dit dans mon premier post).

Donc concrètement :
- une personne arrive sur l'url comme par "enchantement" : erreur 403
- une personne arrive normalement, en navigant de page en page... donc accès "via PHP" : autorisé...


Bon de toutes les manières c'est possible mais je m'y suis mal pris...

C'est pas bon çà ?

order deny,allow
deny from all
__________________

Règle n°1 du forum francophone : Parler le français...
Pas de question technique par MP, le forum est fait pour çà, merci.
Huntress est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2006, 14h09   #5
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Si si c'est bon, tu fais un deny from all. Mais après il faut faire un script php (accessible à tous), qui vérifie si tu es logué, et si c'est le cas, qui renvoie le contenu du fichier inaccessible (parce que PHP y a accès, lui). C'est ce qui est fait dans le second lien que je t'ai proposé.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2006, 14h19   #6
Membre éclairé
 
Avatar de Huntress
 
Inscription : août 2004
Messages : 454
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 454
Points : 339
Points : 339
J'suis un peu morte de honte

Je vais tenter de t'expliquer ce que je pense avoir compris, histoire que je parte pas dans tous les sens.

J'ai mon espace sécurisé normal avec accès login/pass - ok
/espace_secu/

Et j'ai également un répertoire contenant des fichiers à protéger - ok
/espace_secu/fichiers_proteges/

Est-ce que c'est ce dernier répertoire qui contient le htaccess (deny from all) ainsi que le fichier tout_puissant.php qui est chargé d'autoriser les téléchargements ?

Si jusque là j'ai bon... comment je "dis" dans mon htaccess que rien n'est accessible si ce n'est tout_puissant.php ?

Laisse moi deviner :
RewriteRule ^([a-z0-9A-Z_-]*).pdf$ dl.php?file=$1.pdf [L]

C'est plus de la honte que je ressents à ce niveau là, toute mes confuses, je réfléchis là dessus, et vous reviens si j'y arrive pas
__________________

Règle n°1 du forum francophone : Parler le français...
Pas de question technique par MP, le forum est fait pour çà, merci.
Huntress est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2006, 14h27   #7
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 797
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 797
Points : 1 688
Points : 1 688
Salut,
il faut que tu mettes tout_puissant.php dans /espace_secu/

Bye
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2006, 14h27   #8
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Citation:
Envoyé par Huntress
J'suis un peu morte de honte
Faut pas !

Citation:
Envoyé par Huntress
Est-ce que c'est ce dernier répertoire qui contient le htaccess (deny from all) ainsi que le fichier tout_puissant.php qui est chargé d'autoriser les téléchargements ?
Alors c'est bien là que tu mets ton htaccess, mais le tout_puissant.php (qui s'appelle dl.php dans mon exemple) il va être autre part, genre dans le répertoire parent. Comme ça il est accessible sans souci.

Citation:
Envoyé par Huntress
Laisse moi deviner :
RewriteRule ^([a-z0-9A-Z_-]*).pdf$ dl.php?file=$1.pdf [L]
Ca en fait à la réflexion tu le mets dans un autre htaccess, qui celui-là sera dans le répertoire où il y a tout_puissant.php. Il veut dire que si dans ce répertoire on appelle machin.pdf, alors en fait on va appeler dl.php?file=machin.pdf (il faut que tu remplaces dl par tout-puissant, bien sûr).

Donc dans tout_puissant, tu récupères le nom du fichier dans ta variable GET, et tu vas aller lire le fichier dans ce fameux répertoire protégé (ou même à un autre endroit du disque dur, inaccessible par le serveur web).

C'est plus clair ?
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2006, 15h47   #9
Membre éclairé
 
Avatar de Huntress
 
Inscription : août 2004
Messages : 454
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 454
Points : 339
Points : 339
Rhaaa génial, çà marche !

bon y'a qq p'tites erreurs concernant la fonction filesize, mais rien de grave, et je dois adapter ton script pour les autres types mime qui seront dispo.

Merci beaucoup à tous.
__________________

Règle n°1 du forum francophone : Parler le français...
Pas de question technique par MP, le forum est fait pour çà, merci.
Huntress est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h42.


 
 
 
 
Partenaires

Hébergement Web