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 :

Protection des dossiers par htaccess


Sujet :

Apache

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Protection des dossiers par htaccess
    Bonjour,

    Je développe actuellement une interface web composée de plusieurs dossiers. Dans un de ces dossiers se trouve mon index.php, et dans les autres dossiers mes fichiers utilitaires.

    J'essaye grâce à un htaccess de bloquer l'accès aux autres dossiers afin de ne pas pouvoir lister les contenus en tapant directement dans la barre d'adresse mais aussi l'accès propre aux fichiers afin de protéger mon fichier de configuration par exemple. J'ai donc essayé avec un fichier htaccess de ce type plaçé dans chacun des dossiers :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Order Deny,Allow
      Deny from all
      Allow from localhost
    Avec cette solution, les images, css ... contenus dans mes dossiers ne sont plus accessibles. Comment faire pour rendre accessibles les fichiers pour mon site mais interdire leur lecture par un utilisateur exterieur ?

    Merci d'avance.

    Anthony

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Les ACL ne sont pas adaptées pour cela (c'est bien le client qui demande les ressources, même annexes donc doivent leur être accessibles). Vous pouvez bloquer ce qu'on appelle les hotlink mais ça n'aura rien de vraiment infaillible puisque une telle chose reposerait sur l'entête HTTP_REFERER (le client la fournissant, il peut très bien l'omettre voire la falsifier) :
    • Avec de la réécriture :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      <IfModule mod_rewrite.c>
          RewriteEngine On
          RewriteCond %{HTTP_REFERER} !^$
          RewriteCond %{HTTP_REFERER} !^http://.*\.nom_de_domaine\.fr/ [NC]
          RewriteRule \.(gif|jpe?g|png)$ - [F,NC] # Vous pouvez remplacer F par R=403
      </IfModule>
    • En combinant les directives SetEnvIfNoCase et FilesMatch :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      SetEnvIfNoCase Referer "^https?://([^/]*)?nom_de_domaine\.fr/" local_ref=1 
      SetEnvIf Referer ^$ local_ref=1
       
      <FilesMatch "\.(jpe?g|gif|png)$">
          Order allow,deny
          Allow from env=local_ref
      </FilesMatch>

    A adapter, bien sûr.

Discussions similaires

  1. Protection des dossier par mdp
    Par .:H:. dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 26/03/2011, 23h59
  2. Configurer des accès par .htaccess
    Par teramp3 dans le forum Apache
    Réponses: 11
    Dernier message: 29/01/2008, 10h34
  3. Réponses: 8
    Dernier message: 09/05/2007, 00h35
  4. Réponses: 1
    Dernier message: 14/02/2006, 00h40
  5. Réponses: 7
    Dernier message: 23/10/2005, 21h52

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