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
.htaccesspour 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
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.
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/wwwsur la plupart des systèmes, nous allons donc y mettre le répertoire.sudo mkdir /var/www/dataUtilisez 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À 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>Ensuite, vous devrez ajouter le paramètre
AllowOverride Allau 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
Directorycorrespondante.Redémarrez Apache pour que les modifications prennent effet.
Debian based: sudo systemctl restart apache2 Red Hat based: sudo systemctl restart httpd- 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.
