PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : .htaccess - Zugriff von außen verbieten, includierung erlauben


dead.line
2009-02-14, 13:49:56
Moin,

folgendes Problem:
Ich hab einen Unterordner indem die ganzen includes drin liegen. Diese möchte ich natürlich per PHP includieren können ABER der zugriff von außen soll verboten werden.

Wollte das mit .htaccess machen. Nur, wenn ich diesen code in die ".htaccess" Datei reinschreibe kommen die Includes nicht mehr durch. Sprich selbst die internen Anfragen werden abgelehnt.
Die .htaccess Datei liegt natürlich in dem entsprechendem Unterordner.
order allow,deny
deny from all

DanMan
2009-02-14, 15:15:02
Öhm, das ist ungewöhnlich. Gehören die Dateien einem User in der gleichen Gruppe? Oder besser noch dem Server-Prozess? Wenn nicht, dann liegts vllt. daran.

Könntest probieren dem Server-Prozess explizit Zugriff zu gestatten.

http://pc-intern.com/artikel-5231.html
http://de.selfhtml.org/servercgi/server/htaccess.htm

Gast
2009-02-24, 11:09:32
Das Problem ist wahrscheinlich tiefgründiger. Ich vermute, dass diese Dateien, die du includieren möchtest, nicht alleine durch Aufruf der URL ausgeführt werden sollen/dürfen. Sie dürfen also nur im Zusammenhang ausgeführt werden.

Du kannst pro Datei, die includiert werden soll, eine Abfrage erstellen, die prüft, ob die Datei zum Ganzen gehört (definiere eine Variable mit Wert in der Hauptdatei). Natürlich muss dafür register globals off sein, sonst bringt das alles nichts!

In den "Modulen" prüfst du diese Variable dann auf den bestimmten Wert. Durch das Includieren erhält die Variable in den Modulen ja automatisch den Wert der Hauptdatei. Ruft man die Module nun einzeln auf, funktioniert dies ja nicht!

Gast
2009-02-24, 11:35:29
Nur, wenn ich diesen code in die ".htaccess" Datei reinschreibe kommen die Includes nicht mehr durch. Sprich selbst die internen Anfragen werden abgelehnt

Sehr merkwürdig! Normalerweise sollte sich eine deny-Klausel nur auf den HTTP-Zugriff auswirken.

Wie sieht deine include()-Anweisung aus?

LordZed
2009-02-24, 11:45:49
Da die PHP-Includes serverseitig arbeiten, sollte die .htaccess diesem vollkommen Wurscht sein. Hatte es selber mal so gelöst. Schau auch einfach mal bei ner Forensoftware (phpBB z.B.) ich meine da wär im Include bzw. Funktionen-Verzeichniss auch eine entsprechende .htaccess.

Liegt der Fehler vllt. eher darin, wie du es geschrieben hast? Poste mal bitte Verzeichnisstruktur und den Include-Befehl.

dav133
2009-02-24, 22:12:38
Hm, schau mal (Eigenwerbung) hier (http://d-mueller.de/htaccess-tutorial.htm) und versuche es aufbauend auf Punkt 8 mit der IP deines Servers.

lg