Recherche de site Web

Refuser le téléchargement direct de fichiers avec .htaccess


Ce n’est pas parce que vous hébergez quelque chose en ligne que vous voulez nécessairement que tout le monde y ait accès. Par exemple, si vous développez ou hébergez un projet en ligne qui contient des informations privées stockées sur votre système de fichiers, disponibles uniquement pour un accès autorisé. Dans ce tutoriel, vous allez voir comment refuser le téléchargement direct d’un fichier à l’aide d’un fichier de configuration .htaccess sur un serveur Web Apache sous Linux.

Dans ce tutoriel, vous allez apprendre :

  • Comment utiliser .htaccess pour refuser l’accès au fichier
  • Comment ajouter le paramètre AllowOverride All à l’hôte virtuel Apache

Refuser le téléchargement direct de fichiers avec .htaccess

LE SAVIEZ-VOUS ?
Gardez à l’esprit que cette méthode refusera l’accès direct à un fichier via l’URL, mais ne protège pas totalement le fichier des regards indiscrets. D’autres méthodes doivent être utilisées pour protéger les données au contenu sensible.

  1. La première chose que nous allons faire est de créer un répertoire où nos données privées seront placées. Le répertoire par défaut d’un site Web Apache est /var/www sur la plupart des systèmes, nous allons donc y mettre le répertoire.

    
    sudo mkdir /var/www/data
    
  2. Utilisez nano ou votre éditeur de texte préféré pour créer le fichier .htaccess à l’intérieur de ce répertoire.

    
    sudo nano /var/www/data/.htaccess
    
  3. À l’intérieur du fichier .htaccess, collez le contenu suivant. Si vous souhaitez nommer un fichier spécifique au lieu d’utiliser un caractère générique, vous pouvez modifier le code ci-dessous en conséquence. Enregistrez vos modifications dans le fichier et quittez-le lorsque vous avez terminé.

    
    <FilesMatch ".*">
        Order Allow,Deny
        Deny from All
    </FilesMatch>
    
  4. Ensuite, vous devrez ajouter le paramètre AllowOverride All au fichier de configuration de l’hôte virtuel de votre site Apache. Ce fichier doit se trouver à l’intérieur du répertoire /etc/apache2/sites-enabled. Ouvrez le fichier approprié et ajoutez le paramètre ci-dessous.

    
    <Directory /var/www/data>
    		AllowOverride All
    </Directory>
    

    Comme vu ci-dessus, vous devrez ajouter cette option à la directive Directory correspondante.

  5. Redémarrez Apache pour que les modifications prennent effet.

    
    Debian based:
    sudo systemctl restart apache2
    
    Red Hat based:
    sudo systemctl restart httpd
    
  6. Accédez au répertoire privé de votre site Web – qui dans cet exemple est http://localhost/data – et vous devriez recevoir une erreur 403 interdite.

Réflexions finales

Dans ce tutoriel, nous avons vu comment refuser le téléchargement direct d’un fichier dans un serveur web Apache sur un système Linux. Cela peut être fait via le fichier de configuration .htaccess, mais ne fonctionne que si le paramètre approprié est présent dans le fichier d’hôte virtuel du site.

Articles connexes: