Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Apache: .htaccess wird ignoriert

Empfohlene Antworten

Veröffentlicht

Unter Suse 9.3 habe ich Apache aufgesetzt und möchte ein Verzeichnis per .htaccess vor unbefugten Zugriffen schützen.

Zum Testen müßte der folgende Inhalt ausreichen, der in der .htaccess im zu schützenden Verzeichnis abgelegt ist:

order deny,allow

deny from all

Leider sind die Dateien im zu schützenden Verzeichnis weiterhin von außerhalb zugänglich. Das entsprechende Modul mod_access ist geladen. Hier ein Auszug von phpinfo();

Server: Apache/2.0.53

Geladene Module: core prefork http_core mod_so mod_access mod_actions mod_alias mod_auth mod_auth_dbm mod_autoindex mod_cgi mod_dir mod_env mod_expires mod_include mod_log_config mod_mime mod_negotiation mod_setenvif mod_ssl mod_suexec mod_userdir sapi_apache2

Welches vermutlich offensichtliche Detail mag ich übersehen haben, das der Server braucht, um mit der .htaccess korrekt umgehen zu können??

Sind die folgenden Einstellungen gesetzt?


AccessFileName .htaccess


<Files ~ "^\.ht">

    Order allow,deny

    Deny from all

</Files>


<Directory /data/www>

  # This controls which options the .htaccess files in directories can

  # override. Can also be "All", or any combination of "Options", "FileInfo",

  # "AuthConfig", and "Limit"

  AllowOverride All

</Directory>

  • Autor

So steht es bei mir in der httpd.conf (die ich seit der Installation nicht verändert habe):

# forbid access to the entire filesystem by default

<Directory />

    Options None

    AllowOverride None

    Order deny,allow

    Deny from all

</Directory>


# use .htaccess files for overriding,

AccessFileName .htaccess

# and never show them

<Files ~ "^\.ht">

    Order allow,deny

    Deny from all

</Files>
Wenn ich oben AllowOverride All setze, passiert gar nichts, d.h. trotz .htaccess kann ich noch auf das Verzeichnis zugreifen. Aber immerhin, wenn ich folgende Zeilen hinzufüge, dann ist zumindest das angegebene Verzeichnis geschützt:
<Directory /srv/www/htdocs/temp>

    AllowOverride All

</Directory>

Danke für den Hinweis, damit kann ich besser weiterrecherchieren! :)

Aber immerhin, wenn ich folgende Zeilen hinzufüge, dann ist zumindest das angegebene Verzeichnis geschützt:

<Directory /srv/www/htdocs/temp>

    AllowOverride All

</Directory>

Du kannst das "AllowOverride All" auch auf Dein Doc-Root setzen, dann können alle Untervezeichnisse bei vorhandener .htaccess geschützt werden.

Oder habe ich Deine Aussage jetzt nicht verstanden? ;)

  • Autor

Wenn ich direkt

<Directory /srv/www/htdocs>

angebe, dann wird das anscheinend nicht auf die Unterverzeichnisse vererbt. Jetzt bin ich am Basteln.

Dies hier funktioniert: <Directory /srv/www/htdocs/*>

Dies hier funktioniert nicht: <Directory /srv/www/*>

(Immer vom Verzeichnis /srv/www/htdocs/temp/ aus getestet)

Update:

Außer httpd.conf gibt es noch eine Datei default-server.conf, und dort stand dann auch <Directory /srv/www/htdocs> drin. Wenn ich dort AllowOverride All hinzufüge, dann klappts auch mit dem Nachbarn.

Danke nochmal!

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.