Sécurité Site Web - Accès dossier

Résolu
Bonjour,

J'ai créé un site web et je souhaiterais faire en sorte que personne ne puisse accéder au contenu de mes dossiers autrement qu'en passant par les liens hypertextes qui sont sur les pages web. Existe-t-il un moyen de bloquer l'accès au contenu des mes dossiers (sauf à moi-même, bien sûr) s'il vous plaît ?

Je vous remercie par avance pour votre aide !

3 réponses

  1. Une solution en php, tu colle un
    define('CONSTANTE', true);

    sur les pages parentes

    Et tu fait une vérification dans les pages enfants avec un
    if (!defined('CONSTANTE'))
    {
        header('Location: ../index.php');
    }


    Ensuite, tu
    include('le_repertoire/la_page.php');

    tes pages dans un conteneur (une page qui sert juste à les appeler).

    Dans tous les autres cas, si tu met un lien pour les afficher, alors tu ne pourra les protéger d'un accès direct (il suffit de recopier le lien à la main), à moins de restreindre l'accès à tes fichiers uniquement au domaine de ton site en utilisant {HTTP_HOST} dans ton .htaccess (mais gaffe à ne pas bloquer tout ton site).

    Et si tu veux vraoment tout bloquer, tu n'a pas le choix, faut développer une routine de protection et tout mettre en BDD ! ce qui est loin d'être simple et léger.
    3
    1. Toutes les solutions ont été résumées :

      tu veux bloquer un dossier particulier ? alors tu places un fichier appelé .htaccess contenant la ligne Deny from All à l'intérieur du dossier en question

      tu veux bloquer seulement certaines pages ? utilise la méthode de maamutt, qui force à passer par ton conteneur pour afficher les autres pages

      tu veux simplement, pour des raisons de sécurité/privacy, empêcher les gens de voir l'aroborescence de tes dossiers quand ils en tapent juste le nom ? crée un .htaccess à la racine de ton site avec la ligne : Option -Indexes
      2
      1. regarde du coté des fichiers htaccess
        https://www.commentcamarche.net/contents/7-apache-les-fichiers-htaccess

        l'option deny from all refuse tout acces

        ensuite, un peu de php pour acceder au elements depuis tes pages web
        et sa devrai le faire

        mais sache qu'il n'existe pas de moyen infallible de proteger des fichiers
        1
        1. Merci beaucoup .Zoro. !!
          Pourrez-tu me dire ce que je dois mettre dans mon fichier htaccess (avec l'option 'deny from all') s'il te plaît ?
          J'ai des pages web en php et en html (une seule).

          Merci beaucoup par avance !!
          0
        2. il me semble que tu veux bloquer l'accès aux arborescences non ? pas bloquer l'accès à tout ton site ?

          Dans ce cas regarde l'option NoIndex
          0
        3. NoIndex empeche simplement le listage du contenu d'un dossier
          on peut acceder au fichiers en entrant leur url directe

          bien sur
          il ne faut pas placer la protection dans le dossier racine du site

          en mettant dans le dossier concerné, par exemple un dossier de photos
          un fichier htaccess
          contenant simplement "deny from all"

          puis pour acceder a un fichier
          on l'appele en PHP
          avec readfile() pour une image
          include pour un script
          etc...
          0
        4. Je pense que Yoda a raison pour mon cas. C'est bien pour bloquer l'arborescence.
          Que dois-je faire avec le NOINDEX alors ?

          Merci par avance !
          0