Partage
  • Partager sur Facebook
  • Partager sur Twitter

htaccess : Eviter accès direct aux dossiers si...

... on tente de tout voir

Sujet résolu
    15 décembre 2014 à 14:06:45

    Hellotatous

    Soit un site web avec multiples dossiers.

    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.

    Avec un htacess ... doit y avoir moyen non ?

    merci

    • Partager sur Facebook
    • Partager sur Twitter
      15 décembre 2014 à 14:12:42

      Salut,

      tu ne peux pas, comment ferait ton site pour afficher les images si elles sont dans un dossier protégé ?

      As-tu essayé en mettant un fichier index.html vide dans tes dossiers ?

      • Partager sur Facebook
      • Partager sur Twitter
      Vous cherchez à faire un menu déroulant ? Visitez www.frogweb.fr ! frogweb le site qu'il vous faut !
        15 décembre 2014 à 14:17:33

        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 "
        • Partager sur Facebook
        • Partager sur Twitter
          15 décembre 2014 à 14:19:40

          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

          • Partager sur Facebook
          • Partager sur Twitter
            15 décembre 2014 à 14:26:00

            merci mathieuwz

            C'est justement ce que je veux tenter d'éviter.

            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.

            je demandait donc si on pouvait interdire le listage d'un repertoire et rediriger vers la page  oupss.php.

            il me semblait qu'une regex mise dans le .htaccess m'aurait permit de détecter si l'url saisie était du genre complète ou pas.

            et dans le  négative -> rediriger vers oupss.php

            • Partager sur Facebook
            • Partager sur Twitter
              15 décembre 2014 à 14:34:30

              ca doit être faisable avec le htaccess, mais je suis pas sur, et je me demande si ça ne va pas aussi bloquer ton navigateur...

              si tu y arrive, je suis curieux de voir comment tu t'en sera sorti, ça m’intéresse

              • Partager sur Facebook
              • Partager sur Twitter
                15 décembre 2014 à 14:34:35

                Dans le .htaccess :

                Options -Indexes
                

                Automatiquement les dossiers ne seront plus parcourables (mais les fichiers oui).

                • Partager sur Facebook
                • Partager sur Twitter

                Pas d'aide concernant le code par MP, le forum est là pour ça :)

                  15 décembre 2014 à 14:37:02

                  ça ne résout pas le problème de redirection vers oupss.php

                  -
                  Edité par mathiewz 15 décembre 2014 à 14:37:16

                  • Partager sur Facebook
                  • Partager sur Twitter
                    15 décembre 2014 à 14:38:06

                    @Lamecarlate

                    Merci

                    c'est une bon début... cela empêche le listage des repertoires ... mais cela ne me redirige pas sur la page oupss.php

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      15 décembre 2014 à 14:43:29

                      Salut!

                      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 :)

                      -
                      Edité par Anonyme 15 décembre 2014 à 14:49:35

                      • Partager sur Facebook
                      • Partager sur Twitter
                        15 décembre 2014 à 14:50:11

                        @Demandred

                        C'est pas con... en effet.

                        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é.

                        non ?

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          15 décembre 2014 à 15:00:09

                          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 :p

                          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 :p
                          Au pire du pire en 1h c'est fait...  Et normalement avec les chemins en absolu ca fonctionne :)

                          • Partager sur Facebook
                          • Partager sur Twitter
                            15 décembre 2014 à 15:12:24

                            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

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              15 décembre 2014 à 15:18:11

                              Ca ne risque pas d'être pénalisant niveau du réf d'avoir toutes ces redirection "inutiles" en cascades par contre?

                              Sinon l'idée est séduisante :D
                              • Partager sur Facebook
                              • Partager sur Twitter
                                15 décembre 2014 à 15:22:36

                                Il me semble que ce n'est pas pénalisant, ou que l'impact est vraiment très faible...

                                De plus, il existe plusieurs CMS qui utilisent ce genre de redirections à outrances, mais qui arrivent a garder un référencement correct

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  15 décembre 2014 à 16:31:42

                                  Dans le .htaccess toujours : Options -Indexes renvoie une erreur 403 (accès interdit), il suffit de rediriger les 403 sur oupss.php. Exemple : http://gdb237.free.fr/blog/?htaccess-redirection-des-erreurs-personnalisee

                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Pas d'aide concernant le code par MP, le forum est là pour ça :)

                                    15 décembre 2014 à 17:11:26

                                    @Lamecarlate

                                    alors la bravo !!!

                                    ca marche ++

                                    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)

                                    SetEnv PHP_VER 5_TEST
                                    SetEnv REGISTER_GLOBALS 0
                                    Options -Indexes
                                    ErrorDocument 403 http://www.xxxxxxx.fr/oupss.php

                                    J'ai une seule page oupss.php que j'ai mis à la racine.

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      15 décembre 2014 à 17:15:50

                                      en rajoutant ErrorDocument 403 http://www.oups.php

                                      Ps: désolé, le temps de lire tous les posts la réponse a été trouvée.

                                      -
                                      Edité par Madgik63 15 décembre 2014 à 17:17:01

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Tu veux te marrer? http://www.jesuisunconnard.fr
                                        15 décembre 2014 à 17:20:11

                                        @maggik63

                                        merci. l'intention y était surement

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          15 décembre 2014 à 18:24:08

                                          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.

                                          • Partager sur Facebook
                                          • Partager sur Twitter

                                          Pas d'aide concernant le code par MP, le forum est là pour ça :)

                                            15 décembre 2014 à 19:14:49

                                            Lamecarlate a écrit:

                                            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?

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Tu veux te marrer? http://www.jesuisunconnard.fr
                                              15 décembre 2014 à 22:31:52

                                              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.
                                              • Partager sur Facebook
                                              • Partager sur Twitter

                                              Pas d'aide concernant le code par MP, le forum est là pour ça :)

                                                15 décembre 2014 à 22:41:53

                                                Pas con du tout ! Je n'y avais jamais réfléchi dis donc. Merci pour cet éclaircissement.
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                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.
                                                • Editeur
                                                • Markdown