Page 1 sur 1
Espace sécurisé et identification
Posté : 31 mai 2008, 10:11
par gwendal
Bonjour,
Voilà j'ai un script à programmer, et je ne sais pas trop comment aborder le problème :
J'ai un site avec une session ou une personne doit s'identifier pour acceder à une liste de fichier directement listé dans un répertoire.
l'espace a été crée avant via une interface d'administration ou l'administrateur a par la suite envoyé des fichiers par ftp dans l'espace créé
Mon problème est que lors de la l'accès au répertoire, je ne voudrais pas qu'une personne puisse relever l'url du répertoire et aller donner l'adresse à une autre personne qui prenne les fichier directement dans celui-ci sans passer par le site.
Avez vous une idée de comment protéger ou dissimuler ce repertoire ?
Posté : 01 juin 2008, 14:43
par Ryle
Le plus simple est sans doute de protéger le dossier par htaccess, interdisant l'accès aux personnes non authentifié.
Sinon au lieu d'accéder au dossier proposant les fichiers, il te faut les placer dans un dossier inaccesible, générer cette liste dans un script php et gérer les téléchargement avec php (qui ira lire le fichier demandé dans le répertoire protégé et le retournera à l'utilisateur). Il te sera alors facile de tester la session dans ce script et voir si l'utilisateur à le droit ou pas de télécharger le fichier

Posté : 02 juin 2008, 12:00
par gwendal
Le plus simple est sans doute de protéger le dossier par htaccess, interdisant l'accès aux personnes non authentifié.
C'est justement la que je bloque, comment faire le lien entre la personne logué en session et le htaccess ?
Posté : 05 juin 2008, 17:17
par BaLiSTiK
Tu dois avoir une table utilisateur je penses (login, pass etc...). Tu peux rajouter un champ 'level' par exemple, dans lequel tu donnes des numeros d'autorisation.
Exemple : 1 -> admin, 2 -> user enregistré.
Lorsque l'utilisateur se conencte, son login est en variable de session, tu peux créer une autre variable de session genre $_SESSION['level'] qui contient le numero de niveau de l'user.
Et avec une condition if($_SESSION['level'] == '1') tu autorise l acces.
Couplé avec le htacces ça peut être suffisant je pense.
Autre solution aussi (oula j ai le cerveau qui chauffe lol), si tu ne veux pas utiliser de level, tu peux faire une methode qui liste tous les users, tu les met dans un tableau. Avec la fonction in_array(), tu compare ta variable de session login avec le tableau. ça te renvoi true si le pseudo est dans le tableau, alors tu affiche ta page, sinon tu indique un message d'erreur.
Posté : 07 juin 2008, 14:12
par gwendal
Tu dois avoir une table utilisateur je penses (login, pass etc...). Tu peux rajouter un champ 'level' par exemple, dans lequel tu donnes des numeros d'autorisation.
Exemple : 1 -> admin, 2 -> user enregistré.
Lorsque l'utilisateur se conencte, son login est en variable de session, tu peux créer une autre variable de session genre $_SESSION['level'] qui contient le numero de niveau de l'user.
Et avec une condition if($_SESSION['level'] == '1') tu autorise l acces.
Couplé avec le htacces ça peut être suffisant je pense.
Autre solution aussi (oula j ai le cerveau qui chauffe lol), si tu ne veux pas utiliser de level, tu peux faire une methode qui liste tous les users, tu les met dans un tableau. Avec la fonction in_array(), tu compare ta variable de session login avec le tableau. ça te renvoi true si le pseudo est dans le tableau, alors tu affiche ta page, sinon tu indique un message d'erreur.
C'est le .htaccess mon problème, je le gère comment lui ? je dois mettre quoi dedans pour n'autoriser que le passage par la session ?