Bonjour,
après des recherches approfondies, j'ai remarqué que mon problème est relativement récurrent, mais je n'ai jamais trouvé de réponse.
Je rencontre en fait deux problèmes :
1er problème :
--------------------------------
Voilà, j'ai un site web avec une arborescence bien précise... on trouve un dossier "public" pour tout ce qui est directement accessible, et un dossier "prive" pour le reste... J'ai donc créé un .htaccess à la racine de "prive", pour interdire l'accès aux fichiers que ce dossier contient...
Seulement, voilà, ma page publique inclut certains fichiers (qui sont dans prive/include) et affiche une image (qui est dans prive/images), et je n'ai trouvé que deux possibilités :
1) j'autorise l'accès total aux fichiers à inclure, et aux images à afficher
2) je bloque l'accès aux fichiers d'inclusion afin que les utilisateurs ne puissent pas les visualiser en rentrant leurs URL (mais l'inclusion serait impossible alors, non ?)
Seulement, je voudrais que l'accès aux fichiers d'inclusion soit interdit si et seulement si l'utilisateur tente de saisir l'url directement de ceux-ci (ce qui donnerait quelque chose comme http://monsite.com/prive/include/ainclure.inc.php), et autorisé sans condition quand ma page publique les inclut !
Je dois avouer que je sèche un peu sur ce point...
2ème problème :
--------------------------------
Mon .htaccess de mon dossier "prive" interdit l'accès à tous les fichiers appartenant à celui-ci. En plus du problème évoqué plus haut, je souhaiterais qu'un fichier spécial (en url, ça donnerait qqch comme http://monsite.com/prive/admin/admin.php) soit accessible par login/mdp...
pour se faire, j'ai donc créé un deuxième .htaccess dans le dossier "admin", qui demande la saisie d'un login/mdp pour accéder à admin.php...
malgré mon deuxième .htaccess, quand j'essaye d'accéder à la page admin.php, le navigateur me renvoie une erreur de type 403 (accès interdit)...
Je vous présente rapidement l'arborescence de mon site :
public
pageincluante.php
prive
.htaccess
admin
.htaccess
.htpasswd
admin.php
css
form
images
imageaafficher.jpg
include
ainclure1.inc.php
ainclure2.inc.php
Voici le .htaccess à la racine de "prive" (pour les exceptions que sont les fichiers à inclure, j'ai pour l'instant choisi d'autoriser l'accès sans condition à ceux-ci, ce qui ne me satisfait ds le cas d'une saisie directe de l'url par l'utilisateur)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| order deny,allow
deny from all
<files ainclure1.inc.php>
order deny,allow
allow from all
</files>
<files imageaafficher.jpg>
order deny,allow
allow from all
</files>
<files ainclure2.inc.php>
order deny,allow
allow from all
</files> |
Voici le second .htaccess, situé dans "prive/admin", qui ne fonctionne pas...
1 2 3 4 5 6
| <files admin.php>
AuthName "Authentification requise"
AuthType Basic
AuthUserFile "[...]\prive\admin"
Require valid-user
</files> |
Rq : je développe sous Windows en local actuellement, d'où l'utilisation des '\' dans le chemin absolu 
Merci d'avance de votre aide !
Rolf IV
Partager