PHP-include(); + .htaccess

martinibook

martinibook

Aktives Mitglied
Thread Starter
Dabei seit
20.08.2005
Beiträge
8.730
Reaktionspunkte
350
Hallo,

Ich habe eine kurze Frage:

Wenn ich mit PHP eine Datei includiere, die einem Ordner liegt, der mit .htaccess geschützt ist, muss man dann ein Passwort eingeben oder geht das am Schutz vorbei?

Martin
 
Das kannst Du doch ganz leicht ausprobieren.

Pauschal kann man die Frage ohnehin nicht beantworten, da es eine ganze Reihe von Möglichkeiten gibt, wie man mit der .htaccess Datei den Zugriff einschränken kann.

HTH
 
martinibook schrieb:
Hallo,

Ich habe eine kurze Frage:

Wenn ich mit PHP eine Datei includiere, die einem Ordner liegt, der mit .htaccess geschützt ist, muss man dann ein Passwort eingeben oder geht das am Schutz vorbei?

Martin

Ja das sollte so geschehen.


Zumindest sind das meine Erfahrungen ;)
 
Gerade mal ausprobiert, klappt nicht. Dann muss ich das anders machen, ist aber auch kein Problem
 
Hi Martin,

das muss aber gehen. Grund: .htaccess beeinflusst nur den Zugriff per Apache, also Web-Zugriffe. Ein PHP-include funktioniert aber auf Datei-Ebene, geht also komplett am Apache vorbei.
Wenn's bei dir nicht klappt, dann ist sicher der Pfad zur Datei falsch angegeben.
 
b.legt210 schrieb:
das muss aber gehen.
b.legt210 schrieb:
komplett am Apache vorbei.

Also was jetzt, für Zugriffe über einen Browser direkt funktioniert das wunderbar, ich muss ein Passwort eingeben. Also die Datei ist schon mal richtig.

Über include(); musste ich aber kein Passwort eingeben.
 
martinibook schrieb:
Also was jetzt, für Zugriffe über einen Browser direkt funktioniert das wunderbar, ich muss ein Passwort eingeben. Also die Datei ist schon mal richtig.

Über include(); musste ich aber kein Passwort eingeben.


was auch völlig richtig ist, denn:

(1) htacess schützt Zugriffe via Web, also TCP/IP uaf de, Port des Apache

(2) include funktioniert als Mechanismus über das Dateisystem, hat also mit Apache so gar nichts zu tun! Schließlich gibt man ja auch Dateipfade an und keine Include-URL'S!

.htacess hat also keinen Einfluß auf Euer Repository aus dem ihr included/required!
 
Also kann man sich selbst mit include(); seinen .htaccess Schutz vernichten. Okay, merke ich mir.
 
martinibook schrieb:
Also kann man sich selbst mit include(); seinen .htaccess Schutz vernichten. Okay, merke ich mir.


ja, weil es sich eben um zwei völlig verschiedene Dinge handelt! Mit include und require lade ich Bibliotheken und Klassen aus meinem Repository. Dort lagern Lösungen auch für ganz andere Programme, man muß ja nicht alles doppelt erstellen. Dieses Repository liegt bei mir außerhalb des htdocs-Verzeichnisses ( es soll ja niemand direkt drauf zugreifen können), um da trotzdem ranzukommen, gibt es include und require.

htaccess schützt ja nur Zugriffe via Web und hat damit eben gar nichts zu tun. Verwendet man beides aber zusammen, sind solche Unfälle im wahrsten Sinne des Wortes vorprogrammiert!
 
Um Include-Dateien gegen Zugriff aus
dem Netz zu sichern, koenntest du die
"FilesMatch"-Direktive verwenden, zb. so:
Code:
<FilesMatch "(.*?)\.inc\.php$">
   Order allow,deny
   Deny from all
</FilesMatch>

Allerdings musst du die Dateien dann
so umbenennen, dass sie mit .inc.php
enden, um sie zu schuetzen.
 
Zurück
Oben Unten