Utiliser le .htaccess pour "ouvrir" un répertoire en dowload

Nos tutoriels complets pour vous aider
Répondre
Avatar du membre
pboulanger
Administrateur du site
Administrateur du site
Messages : 877
Enregistré le : mar. 17 mars 2020 11:49
Localisation : Oise- LA CHAPELLE EN SERVAL
A remercié : 264 fois
A été remercié : 141 fois
Contact :
    unknown unknown

Utiliser le .htaccess pour "ouvrir" un répertoire en dowload

Message par pboulanger »

Bonjour


Je me lance en espérant que c'est clair ... Si vous avez des questions et des remarques pour l'améliorer surtout vous n'hésitez pas ...


Comment créer un répertoire au sein d'un site web permettant de télécharger (dowload) des fichiers par les utilisateurs ?

  • A la racine du site, créer un nouveau système de répertorie à partir de la racine du site et donner à chaque dossiers les droits CHMOD 0644
    Par exemple ftp/pub/monreptoire
  • On va se servir de la structure du répertoire pour organiser les fichiers
    dans /ftp/pub on va stocker les images, les scripts,
    dans ftp/pub/monrépertoire on trouvera les fichiers offerts en téléchargement

    Dans les répertoires ftp et ftp/pub créer un fichier index.php afin de bloquer l'affichage du contenu
    Si vous générez un fichier vide => page blanche
    ... Perso je préfère mettre une redirection vers l'accueil du site
  • créer un fichier index.php avec le code suivant (remplacer url du site par l'url de votre site)

    Code : Tout sélectionner

     
    <?php
    header('Location: url du site');
    exit();
    ?>
    
  • Dans ce répertoire que vous venez de créer,
    • Créer un fichier entête.html qui va contenir les entêtes HTML ainsi qu'une partie supérieure de la section body

      Code : Tout sélectionner

      <html>
      <head>
      <title>Titre de la page</title>
      <meta name="description" content="Descirption de la page">
      <meta name="title" content="Titre de la page dans l'onglet">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
      <meta http-equiv="Content-Language" content="fr" />
      <base target="_blank">
      </head>
      <body>
      
      <div style="min-width:200px; max-width:640px; loat:left; " >
      
      <center>
      <a href= "url de votre site" title="Nom du site">
      <img src="/ftp/pub/logo-amis.svg"
      alt="logo de du site" title="texte de remplacement" style="width: 288px; height:240px;">
      </a>
      </center>
      </div>
      <div style="min-width:200px; max-width:640px; clear:both; " ><center>
      
      <h1 style="width: 100%;">
      Titre de la page en balise H1 pour l'indexation
      </h1>
      
      <p>
      <b><i>
      Texte
      </i></b>
      </p>
      </center>
      <br />
      <hr>
      
      </body>
      </html>
      
    • Créer un fichier pied.htm pour le pied de page

      Code : Tout sélectionner

      <html>
      <head>
      <title>Titre de la page</title>
      <meta name="description" content="Description du site">
      <meta name="title" content="Titire de la page">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
      <meta http-equiv="Content-Language" content="fr" />
      <link rel="stylesheet" href="/ftp/pub/back.css">
      
      <script>javascript"> function closeWindow() { window.open('','_parent',''); window.close(); }
      </script>
      
      
      </head>
      <body>
      
      <div style="min-width:320px; max-width:640px;" >
      <h3>
      <b><i>Les icones sont cliquables!</i></b>
      </h3>
      
      <hr>
      
      <h4>
      <b>Texte libre</b>
      </h4>
      
      <h5>
      <b><u>Application de téléchargement</u></b> développée par
      </a>
      
      <p><i>Version de l'application de téléchargement : DL_1.0.3-c </br>mise en place le 11/12/2019</i><p>
      </h5>
      </div>
      </body>
      </html>
      
    • créer un fichier .htaccess
      • Insérer le code suivant afin de protéger tous les fichiers de ce répertoire

        Code : Tout sélectionner

        # Protection Acces
        <Files ~ "^.*\.([Hh][Tt][Aa])">
        order allow,deny
        deny from all
        </Files>
        # Fin protection
        
      • Définir le fichier d'ouverture par défaut

        Code : Tout sélectionner

        #ouverture par defaut
            DirectoryIndex page_par_defaut.html
        #fin ouverture par defaut
        
      • Définir les paramètres de la page

        Code : Tout sélectionner

        # DIRECTORY CUSTOMIZATION
        <IfModule mod_autoindex.c>
        
        #Autorise l'affichage du répetoire
        Options +Indexes
        IndexOptions FancyIndexing
        
        #Forcage utf 8
        AddDefaultCharset utf-8
        
        #Entête et Pied de page
        HeaderName /ftp/pub/monrepertoire/entete.html
        ReadmeName /ftp/pub/monrepertoire/pied.html
        
        #paramètres d'affichage
        IndexOptions IgnoreCase
        
        #Ordre d'affichage
        IndexOrderDefault Ascending Name
        IndexOptions FancyIndexing FoldersFirst
        
        #Lageur des colonnes
        IndexOptions NameWidth=*
        IndexOptions DescriptionWidth=*
        IndexOptions HTMLTable
        
        #Réglage de l'affichage
        #Supprime l'affichage de la description
        #IndexOptions FancyIndexing SuppressDescription
        
        #Supprime l'affichage de la taille
        IndexOptions FancyIndexing SuppressSize
        
        #Supprime les options de tri croissant /décroissant
        IndexOptions FancyIndexing SuppressColumnSorting
        
        #Supprime l'affichage de la date
        #IndexOptions FancyIndexing SuppressLastmodified
        
        #Ignore l'affichage des fichiers
        IndexIgnore *.html *.txt *.ico
        
        #Supprime l'affichage des lignes horizontales
        IndexOptions FancyIndexing SuppressRules
        
        #Icones en lien
        IndexOptions FancyIndexing IconsAreLinks
        
        #Ajout d'une description
        AddDescription "texte de description associé au fichier "Liste_1*.pdf
        AddDescription "Liste par grandes familles de Produit "Liste_2*.pdf
        AddDescription "Ensemble des deux listes au format ZIP" Listes*.zip
        AddDescription "A LIRE avant tout téléchargement" *.txt *.htm
        
        #Icones personalisées
        AddIcon (IMG,/ftp/pub/picture.png) .gif .jpg .png
        AddIcon (MSG,/ftp/pub/text.png) .html .doc
        AddIcon (TXT,/ftp/pub/attention.gif) .htm .txt
        AddIcon (ZIP,/ftp/pub/zip.gif) .zip .rar .gz
        AddIcon (PDF,/ftp/pub/pdf.gif) .pdf
        AddIcon /ftp/pub/folder.png ^^DIRECTORY^^
        DefaultIcon /ftp/pub/inconnu.png
        
        </IfModule>
        
    • créer un fichier index.php avec le code suivant (remplacer url du site par l'url de votre site)

      Code : Tout sélectionner

       
      <?php
      header('Location: url du site');
      exit();
      ?>
      
      Ce fichier va rediriger toutes les demandes non explicites vers l'accueil du forum
  • Si vous souhaitez protéger le code source de votre page, il suffit simplement d’utiliser snapbuilder

    La méthode est simple ...
    Vous afficher le répertorie sur votre navigateur préféré et vous récupérez le code source de la page
    Vous faire un copier/coller du code obtenu dans obfuscator
    Celui-ci va vous donner un script qu'il suffira alors de coller dans la page de démarrage par défaut définie dans le .htaccess
    Dans cet exemple page_par_defaut.html
C’est l'outil qui est derrière l'application "liste de médicaments " de notre site de malades
Modifié en dernier par pboulanger le lun. 23 mars 2020 11:31, modifié 1 fois.
Amicalement,

Pierre
Avatar du membre
chtimi054
Administrateur du site
Administrateur du site
Messages : 9116
Enregistré le : ven. 26 juil. 2013 06:56
A remercié : 299 fois
A été remercié : 475 fois
    unknown unknown

Re: Utiliser le .htaccess pour "ouvrir" un répertoire en dowload

Message par chtimi054 »

Premier Post qui me semble intéressant !

Merci Pierre pour ce partage !
Avatar du membre
macgrath
Modérateur
Modérateur
Messages : 3944
Enregistré le : jeu. 3 mars 2011 22:15
A remercié : 70 fois
A été remercié : 54 fois
    unknown unknown

Re: Utiliser le .htaccess pour "ouvrir" un répertoire en dowload

Message par macgrath »

Oui, tuto très clair, me sera peut être utile un jour, merci ;)
Répondre