Direkten Dateidownload mit .htaccess verweigern
Nur weil Sie etwas online hosten, bedeutet das nicht unbedingt, dass Sie möchten, dass jeder Zugriff darauf hat. Zum Beispiel, wenn Sie ein Online-Projekt entwickeln oder hosten, das private Informationen enthält, die sich auf Ihrem Dateisystem befinden und nur für autorisierten Zugriff verfügbar sind. In diesem Tutorial erfahren Sie, wie Sie den direkten Download einer Datei mithilfe einer .htaccess-Konfigurationsdatei auf einem Apache-Webserver unter Linux verweigern können.
In diesem Tutorial lernen Sie:
- So verwenden Sie
.htaccess, um den Zugriff auf Dateien zu verweigern - So fügen Sie die Einstellung
"AllowOverride All" zum virtuellen Apache-Host hinzu
Direkten Dateidownload mit .htaccess verweigern
Beachten Sie, dass diese Methode den direkten Zugriff auf eine Datei über eine URL verweigert, die Datei jedoch nicht vollständig vor neugierigen Blicken schützt. Zum Schutz von Daten mit sensiblen Inhalten sollten andere Methoden eingesetzt werden.
Das erste, was wir tun werden, ist, ein Verzeichnis zu erstellen, in dem unsere privaten Daten abgelegt werden. Das Standardverzeichnis für eine Apache-Website ist
/var/wwwauf den meisten Systemen, daher werden wir das Verzeichnis dort einfügen.sudo mkdir /var/www/data-
Verwenden Sie nano oder Ihren bevorzugten Texteditor, um die
.htaccess-Dateiin diesem Verzeichnis zu erstellen.sudo nano /var/www/data/.htaccess Fügen Sie in der
.htaccess-Dateiden folgenden Inhalt ein. Wenn Sie eine bestimmte Datei benennen möchten, anstatt einen Platzhalter zu verwenden, können Sie den folgenden Code entsprechend bearbeiten. Speichern Sie Ihre Änderungen in der Datei und beenden Sie die Datei, wenn Sie fertig sind.<FilesMatch ".*"> Order Allow,Deny Deny from All </FilesMatch>Als Nächstes müssen Sie die Einstellung
AllowOverride Allzur Konfigurationsdatei des virtuellen Hosts Ihrer Apache-Site hinzufügen. Diese Datei sollte sich im Verzeichnis/etc/apache2/sites-enabledbefinden. Öffnen Sie die entsprechende Datei und fügen Sie die Einstellung unten hinzu.<Directory /var/www/data> AllowOverride All </Directory>Wie oben zu sehen ist, müssen Sie diese Option zur entsprechenden
Directory-Direktivehinzufügen.Starten Sie Apache neu, damit die Änderungen wirksam werden.
Debian based: sudo systemctl restart apache2 Red Hat based: sudo systemctl restart httpd- Navigieren Sie zum privaten Verzeichnis Ihrer Website – in diesem Beispiel
http://localhost/data– und Sie sollten den Fehler 403 forbidden erhalten.
Abschließende Gedanken
In diesem Tutorial haben wir gesehen, wie man den direkten Download einer Datei auf einem Apache-Webserver auf einem Linux-System verweigert. Dies kann über die .htaccess-Konfigurationsdatei erfolgen, funktioniert aber nur, wenn die richtige Einstellung in der virtuellen Hostdatei der Site vorhanden ist.
