IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Protéger accès à un dossier [PHP 5.0]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mars 2009
    Messages : 95
    Points : 81
    Points
    81
    Par défaut Protéger accès à un dossier
    Bonjour,
    je viens d'effectuer une recherche sur le forum mais sans trouver de réponse (peut être ai-je mal cherché). La question revient souvent, mais il semblerait que j'ai un soucis un peu différent.

    Voici mon problème:

    je réalise un script pour une amie afin de réaliser une galerie photos avec des droits d'accès différents selon les utilisateurs (via MySql).
    La gestion d'accès aux galeries est OK mais par contre rien n'empêche à un utilisateur d'accéder directement (via l'url) aux dossiers contenant les photos.
    Après plusieurs lectures je me retourne vers la réécriture de l'url afin de soumettre l'affichage à condition via une page php (Un peu comme ce post.

    Le problème est que mon hébergement actuel ne gère pas l'url rewriting.

    Auriez vous d'autres solutions à me proposer pour protéger l'accès à mes photos (privées).

    Merci d'avance pour vos réponses.

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 234
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 234
    Points : 8 497
    Points
    8 497
    Billets dans le blog
    17
    Par défaut
    Tu peux placer un fichier .htaccess contenant :

    Le visiteur qui accèdera directement au répertoire obtiendra un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Forbidden
     
    You don't have permission to access / on this server.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mars 2009
    Messages : 95
    Points : 81
    Points
    81
    Par défaut
    Merci de ta réponse mais si je met un "Deny from all", je ne pourrais plus insérer mes images dans un page.

    Si je réalise une page du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $autorisationAffichageImages = true;
     
    if($autorisationAffichageImages === true)
    echo '<img src="galeries/gal_1/grandes_79.jpg" />';
    else
      echo 'Vous n\'êtes pas autorisé à voir cette image';
    ?>
    Mon image ne s'affiche pas.

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 234
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 234
    Points : 8 497
    Points
    8 497
    Billets dans le blog
    17
    Par défaut
    (Msg précédent non pertinent supprimé)

    Je récapitule :
    - Tu gères les droits d'accès des galeries en PHP
    - Tu ne veux pas qu'on puisse naviguer parmi les répertoires d'images

    C'est bien ça ? Si oui alors tu devrais pouvoir désactiver le listing des images en plaçant dans un .htaccess :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IndexIgnore *.jpeg *.jpg
    Cependant ça n'empêchera pas d'accéder directement à l'image si on connaît son URL.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mars 2009
    Messages : 95
    Points : 81
    Points
    81
    Par défaut
    Seb, tu as bien compris mon soucis mais il faudrait que les gens qui n'y sont pas autorisés ne puissent pas accéder aux images (ni par le listing ni par l'url) .
    Si je ne bloque pas l'accès à ces images cela ne sert pas à grand chose de créer des galeries privées
    Je crois que je vais investir dans un hébergement un peu plus adapté.
    Crois tu que l'url rewriting soit une des meilleure solution dans ce cas ?

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 234
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 234
    Points : 8 497
    Points
    8 497
    Billets dans le blog
    17
    Par défaut
    Si je ne bloque pas l'accès à ces images cela ne sert pas à grand chose de créer des galeries privées
    Ouaip je sais bien, j'essayais juste de trouver une solution raisonnable avec tes contraintes

    Crois tu que l'url rewriting soit une des meilleure solution dans ce cas ?
    Certainement.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mars 2009
    Messages : 95
    Points : 81
    Points
    81
    Par défaut
    Donc mon choix est fait, je vais passer à un hébergement permettant la réécriture des url.

    Merci pour l'instant et à bientôt pour une autre question de débutant.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 71
    Points : 76
    Points
    76
    Par défaut
    y a une autre solution un peu tirer par les cheveux mais qui marche,
    avec le .htaccess tu interdit purement et simplement l'affichage de toute image, donc meme avec l'URL exact tu y a pas accés,

    Ensuite tu fais un script PHP qui prend en parametre l'url du fichier (enfin genre ton image est dans /var/www/image/1.jpg tu met juste 1.jpg) et ton script php va verifier que tu as le droit (tu fais ca comme tu veux) et si oui il lit l image et la renvoi (en gros un truc du genre readfile()), en specifiant bien le type de contenu dans le header (en recuperant ca avec par exemple fileinfo).

    apres je sais pas quels sont les meilleurs solutions pour faire ca mais la solution en soit marche!

  9. #9
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 234
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 234
    Points : 8 497
    Points
    8 497
    Billets dans le blog
    17
    Par défaut
    C'est ce que je voulais éviter en parlant de solution "raisonnable".
    Ce procédé, quoiqu'assez efficace, est gourmand en ressources

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mars 2009
    Messages : 95
    Points : 81
    Points
    81
    Par défaut
    lunarnet76 j'étais entrain de tester cette solution qui fonctionne très bien. Etant assez confiant je reviens sur ce forum pour vous informer que j'avais trouvé une solution et je viens de tomber sur la réponse de Séb .

    Etant donné que je viens de prendre un hébergement avec la réécriture activée, je pencherais surement vers cette dernière.

    J'attends l'activation de ce nouvel hébergement pour vous donner des nouvelles.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Mars 2009
    Messages : 95
    Points : 81
    Points
    81
    Par défaut
    Me revoilà ( ça n'aura pas durer longtemps).

    Voici ce que j'ai fait dans mon fichier htaccess dans le dossier à protéger.
    Est-ce que c'est correct ?
    Doisje mettre ce "Options +FollowSymlinks", j'ai pas bien compris son utilité.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    # empêche de lister le dossier
    Options -Indexes
     
    # liens symbolique --- pas compris à quoi ça sert exactement
    Options +FollowSymlinks 
     
    # activation de la réécriture d’URL obligatoire
    RewriteEngine On
     
    # j'ajouterai cette ligne lorsque le site sera sur mon espace
    #on compare la variable HTTP_REFERER au domaine du site 
    #RewriteCond %{HTTP_REFERER} !^http://www.rikoweb.fr/.*$ [NC] 
     
    # réécrire l'url
    #expression régulières pour détecter les images
    # le "-" indique de ne pas réécrire l'url et le flag [F] renvoi erreur 403 
    ReWriteRule .*\.(gif|png|jpe?g)$ - [F]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Acces vieux dossier protégé
    Par Emmanuel_D dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 08/09/2005, 15h37
  2. [APACHE] Modifié les droits d'accès à un dossier.
    Par will-scs dans le forum Apache
    Réponses: 1
    Dernier message: 26/08/2005, 22h12
  3. Proteger l'acces à un dossier
    Par chobol dans le forum Administration
    Réponses: 5
    Dernier message: 17/08/2005, 21h16
  4. [Sécurité] Autorisation dynamique d'accès à un dossier
    Par SkYsO dans le forum API, COM et SDKs
    Réponses: 33
    Dernier message: 10/08/2005, 14h00
  5. Restreindre l'accès à un dossier
    Par kloss dans le forum Apache
    Réponses: 3
    Dernier message: 21/04/2005, 23h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo