Website-Suche

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

WUSSTEN SIE SCHON?
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.

  1. 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/www auf den meisten Systemen, daher werden wir das Verzeichnis dort einfügen.

    
    sudo mkdir /var/www/data
    
  2. Verwenden Sie nano oder Ihren bevorzugten Texteditor, um die .htaccess-Datei in diesem Verzeichnis zu erstellen.

    
    sudo nano /var/www/data/.htaccess
    
  3. Fügen Sie in der .htaccess-Datei den 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>
    
  4. Als Nächstes müssen Sie die Einstellung AllowOverride All zur Konfigurationsdatei des virtuellen Hosts Ihrer Apache-Site hinzufügen. Diese Datei sollte sich im Verzeichnis /etc/apache2/sites-enabled befinden. Ö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-Direktive hinzufügen.

  5. Starten Sie Apache neu, damit die Änderungen wirksam werden.

    
    Debian based:
    sudo systemctl restart apache2
    
    Red Hat based:
    sudo systemctl restart httpd
    
  6. 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.

Verwandte Artikel: