cas 1 : Si un visiteur saisit une URL complète ... c'est à dire aboutissant sur un fichier existant ( html, jpeg, php ... ) ...alors ... OK il est naturellement autorisé à voir le contenu de la page correspondante.
cas 2 : le visiteur saisit une URL incomplète ... c'est à dire sans préciser un fichier ... exemple : http://monsite.fr/images/ ... il voit alors tout le contenu du repertoire "images" ... Arhghhhh !!!
Comment interdire l'accès direct à des dossiers ou sous-dossiers de dosser ... si on tente d'en voir tout le contenu ?
J'ai voulu mettre un fichier "index.php" dans tous les dossiers et sous dossiers .. mais c'est pénible et pas satisfaisant si d'aventure je souhaite modifier le fichier index .php.
Il me faut empêcher le listage du contenu d'un répertoire et rediriger sur une page personnalisée genre " Désolé vous êtes dans un cul-de-sac. Accès interdit "
un moyen tout simple est de créer un fichier index.php qui contient header('Location: ..'); qui renverra l'utilisateur vers le dossier parent.
Tu copie ce fichier dans tout tes répertoires (sauf ton root évidemment) ainsi l’utilisateur avec une fausse url ira vers la page d’accueil en cas d'url erronée
Après tu peux jouer pour renvoyer vers une 404 ou autre, c'est a ta convenance
car si je décide de modifier le look de cette page index.php ... il me faut changer x fois la même info au sein des x pages index.php.
Pourquoi ne pas utiliser un include afin d'inclure à chaque fois dans tes index.php la même page de redirection? Si elle dois changer tu as un seul fichier (le include) à changer! C'est simple, rapide et flexible
PS: Et fait bien attention a mettre les chemins vers les fichiers css ou js en absolu dans le include pour que cela fonctionne quel que soit l'emplacement de tes pages index.php
Un seul hic ... il me faut alors penser a créer une page index.php... a chaque nouveau repertoire créé.
et personnaliser le chemin d'accès au sein de la ligne include.
noter include (../../oups.php ) voire include ( ../oups.php ) voire include (../../../../oups.php) selon la profondeur du sous-repertoire devant être protégé.
Un seul hic ... il me faut alors penser a créer une page index.php... a chaque nouveau repertoire créé.
Une fois la première faites il te suffit de faire un copier-coller pour les autres dossiers! Un clic pour copier, un clic pour coller, on peut difficilement faire mieux
et personnaliser le chemin d'accès au sein de la ligne include.
Non justement c'est ce que je te dis plus haut, tu peux très bien mettre tous les chemins en absolu depuis la racine de ton serveur! Comme ça pas besoin de réécrire à chaque fois =)
Et puis si au pire tu dois modifier tous les chemins d'accès, avec un remplacer "../" par "../.." ca prend 30s de tout mettre a jour! A moins que tu n'ai des centaines de dossiers dans ton arborescence ca devrait être possible de faire ca manuellement Au pire du pire en 1h c'est fait... Et normalement avec les chemins en absolu ca fonctionne
pas forcement, tu peux faire juste des redirections '..' dans tout tes sous répertoires, et dans tes répertoires (de premier niveau) une redirection ../oupss.php
mon fichier htaccess contient donc : 2 lignes supplémentaires ( les 2 premières étant celle présente par défaut sur le serveur OVH qui heberge mon site ... j'ai mis des xxxxx)
Si je puis me permettre, mieux vaut l'adresse relative de oupss.php plutôt que son url complète. Pourquoi ? Parce qu'avec l'url complète tu rediriges totalement, tu déplaces ton visiteur, qui s'est peut-être juste planté sur son écriture de l'adresse et qui voulait ajouter un nom de fichier. Avec l'adresse relative, tu ne changes pas l'url et tu affiches le contenu de oupss.php.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Si je puis me permettre, mieux vaut l'adresse relative de oupss.php plutôt que son url complète. Pourquoi ? Parce qu'avec l'url complète tu rediriges totalement, tu déplaces ton visiteur, qui s'est peut-être juste planté sur son écriture de l'adresse et qui voulait ajouter un nom de fichier. Avec l'adresse relative, tu ne changes pas l'url et tu affiches le contenu de oupss.php.
Je ne vois pas du tout la différence dans ce cas précis. Qu'elle est l'intérêt s'il te plait?
Madgik63 > je n'ai pas dû bien expliquer, alors, parce que la différence est claire.
Prenons un exemple : je vais sur tartempion.com/undossier.
si on a ErrorDocument 403 http://tartempion.com/oups.php, on va rediriger l'utilisateur, qui va aller sur la page oups.php, et s'il revient en arrière (oui, les gens font "back" dans leur navigateur, beaucoup), va se retrouver de nouveau sur la nouvelle url oups.php, pester, partir
si on a ErrorDocument 403 oups.php, le visiteur va rester sur la page tartempion.com/undossier mais va voir le contenu de la page oups.php. Donc il peut compléter l'adresse par le "unfichier.jpg" qu'il avait oublié. Et revenir en arrière s'il le veut, sans qu'on lui ait imposé une navigation.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas con du tout ! Je n'y avais jamais réfléchi dis donc. Merci pour cet éclaircissement.
Tu veux te marrer? http://www.jesuisunconnard.fr
htaccess : Eviter accès direct aux dossiers si...
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)
Pas d'aide concernant le code par MP, le forum est là pour ça :)