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

Apache Discussion :

Déprotection de dossier par .htaccess en fonction d'un mot-clé présent dans l'URL


Sujet :

Apache

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Déprotection de dossier par .htaccess en fonction d'un mot-clé présent dans l'URL
    bonjour,

    alors voilà, je protège un dossier par defaut, sauf si l'url qui veut accèder aux fichiers de ce dossier contient la chaine "consulter".
    j'ai tester plusieurs règles mais rien à faire...
    Je ne trouve pas la bonne expression régulière
    Voici le .htaccess:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SetEnvIfNoCase THE_REQUEST "consulter" noauth=1
    Deny from all
    Satisfy any
    Allow from env=noauth

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est Request_URI qu'il faut mettre, pas THE_REQUEST qui est inconnu d'Apache.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci Mac, j'ai tenter tellement de formules...

    Mais Request_URI n'est apparemment pas l'URL de la page appelante mais l'url des fichiers du répertoire protégé...ce qui ne me sert à rien.

    Un de mes derniers tests infructueux dont voici la page d'appel:
    http://www.mondomaine.com/app_dev.php/consulter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SetEnvIfNoCase Request_URI "consulter" noauth=1
    Order Deny,Allow
    Deny from all
    Allow from env=noauth

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Request_URI est l'URL demandée, pas l'URL de la page qui contient l'URL qui est demandée. Si c'est cette dernière URL qui t'intéresse, il faut utiliser Referer, mais cet en-tête n'est pas garanti.

    Sinon, essaie ceci. L'expression régulière n'est peut-être pas bonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SetEnvIfNoCase Request_URI ".*consulter.*" noauth=1
    Order Deny,Allow
    Deny from all
    Allow from env=noauth
    Satify any

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Ben c'est toujours verrouiller avec ton code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SetEnvIfNoCase Referer ".*consulter.*" noauth=1
    Order Deny,Allow
    Deny from all
    Allow from env=noauth
    J'ai lu quelque part que certains navigateurs ont une option de sécurité qui ne transmet pas l'information Referer. Ca te dit quelques chose ?

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est le genre de truc que je voulais dire par "cet en-tête n'est pas garanti".

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bon ben il n'y a pas de solution sur alors...

    Pourtant pour faire des URLrewriting, il faut bien analyser l'url de la page (dans les conditions), donc accéder à cette adresse ??

  8. #8
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    On relit ce que j'ai dit :
    Citation Envoyé par _Mac_ Voir le message
    Request_URI est l'URL demandée, pas l'URL de la page qui contient l'URL qui est demandée. Si c'est cette dernière URL qui t'intéresse, il faut utiliser Referer.
    On va prendre un exemple : une première page /index.html qui ne contient qu'un lien vers la page /toto.html qui contient l'image /images/titi.jpg. Lorsque tu tapes dans ton navigateur http://site.com/index.html sans avoir cliqué sur un lien, Request_URI vaut http://site.com/index.html et Referer est vide car tu es arrivé sur la page sans avoir cliqué sur un lien. Quand tu cliques sur le lien qui mène à /toto.html, Request_URI vaut l'URL de la page demandée, donc http://site.com/toto.html et Referer vaut http://site.com/index.html, puisque tu es arrivé sur /toto.html en cliquant sur un lien de la page /index.html. Et lorsque le navigateur charge l'image, Request_URI vaut http://site.com/images/titi.jpg pour cette image et Referer vaut http://site.com/toto.html car cette image est chargée depuis /toto.html.

    J'espère que la notion de Referer est maintenant plus claire. Donc à toi de voir s'il faut utiliser Request_URI ou Referer.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

Discussions similaires

  1. Réponses: 14
    Dernier message: 02/10/2009, 10h28
  2. Protection des dossiers par htaccess
    Par anthony.voilet dans le forum Apache
    Réponses: 1
    Dernier message: 26/06/2008, 13h53
  3. Protéger un dossier par .htaccess
    Par degseb dans le forum Apache
    Réponses: 9
    Dernier message: 16/05/2008, 10h30
  4. Réponses: 5
    Dernier message: 13/11/2007, 22h00
  5. [VBA] fonction qui donne la valeur présente dans une table
    Par zanou666 dans le forum VBA Access
    Réponses: 7
    Dernier message: 25/09/2007, 17h33

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