.htaccess Fragen


ThiKool

Erfahrenes Mitglied
#1

ThiKool

Erfahrenes Mitglied
#2
Auch eine Möglichkeit Änderungen an der .htaccess zu debuggen wäre sehr hilfreich, denn "Server error" oder "missconfiguration" bringt mich noch zur Verzweiflung.
 

sheel

I love Asm
#3
Hi

Also www.example.com/src/data/public.wird dem Benutzer (hoffentlich) nie angezeigt?
Nenns zB. www.example.com/src/data/publicSJ)(JWOIJDOISJoijadsofmiosdfj (mit einem echten Random-String, nicht nur irgendwie auf die Tastatur hauen), damits niemand allein finden kann.

Dazu natürlich auch sicherstellen, dass Dir-Listing für diese Verzeichnisse aus ist, damit man sich eben nicht den Namen anzeigen lassen kann. Und je nach Wichtigkeit fail2ban verwenden, um Leute die das suchen auszusperren. usw.

...
zum Debuggen:

a) Jede neue Zeile einzeln testen.
b) Nicht den Browser verwenden, sondern zB. wget. Die verschiedenen Browsercaches sind sonst ein Problem (nicht nur Inhalte, sondern auch Redirects usw.)
c) Manchmal haben die Logfiles von Apache auch was Sinnvolles.
 

ThiKool

Erfahrenes Mitglied
#4
Vielen Dank schonmal.

Kann ich das auch per PHP Weiterleitungen lösen oder ist die .htaccess Pflicht um unbefugten Zugriff auf die Dateien zu verwehren?

Habe jetzt etwas in PHP umgesetzt, sodass nur auf bestimmte Ordner zugegriffen werden kann, ansonsten wird weitergeleitet.

Also die URI sieht so aus <page>/<subpage>.html
und included data/include/<page>.php

Die .htaccess habe ich sehr kompakt gehalten:

Code:
ReWriteCond %{REQUEST_URI} !data/
RewriteRule (.*)$ data/public/index.php?rawUri=$1&%{QUERY_STRING} [L]
Wie läuft das mit dem debuggen mit wget auf dem Apache localhost?
 

sheel

I love Asm
#5
HTTP-Weiterleitungen mit PHP sind genau das, was du nicht willst ... damit bekommt der Benutzer die Zielurl.

Eine Alternative wäre, den geschützten Ordner per htaccess komplett unzugreifbar zu machen, und die PHP-Datei die Dateien dann auslesen und den Inhalt direkt zum Browser senden zu lassen.
Allerdings ist das sehr umständlich, weil man einige Nebenfunktionen von Apache nachbilden muss (komplette Cachebehandlung, Dataranges, Mimetypen, ...)

Btw., schau dir die Rewrite-Flags genauer an, zB. QSA
 

ThiKool

Erfahrenes Mitglied
#6
Ähmm.. PHP Weiterleitungen war der falsche Ausdruck.

Ich habe meinen Beitrag oben nochmal ediert - weiß nicht ob du die Änderungen bei deiner Antwort schon hattest.

Es geht eher darum, dass Dateien per PHP included werden und NICHT direkt aufgerufen werden dürfen (lib, content seiten usw.)
 

sheel

I love Asm
#7
Das hatte ich schon angesprochen ... wenn die einzubindenden Dateien alle PHP sind, geht das, aber sonst müssten die Sachen rund um Cache, Range, Mime usw.usw. nachgebildet werden.
 

Neue Beiträge