.htaccess - allow from - relative Adressierung möglich ?
kapuzino
- webserver
0 Sven Rautenberg0 Der Martin0 Beat
Hallo !
Weiß jemand, ob es möglich ist, mit "allow from" die zugreifende Quelle relativ zum Verzeichnis zu adressieren in dem die .htaccess steht ?
Simples Problem: In /DIR/SUBDIR sind Daten und .php's. Beides soll von PHP aus /DIR zugreifbar sein und von sonst überall nicht. Das Ganze (DIR mitsamt /SUBDIR) soll, wenn möglich ohne Änderungen an andere Stelle verschoben werden können.
Geht DIR in .htaccess überhaupt relativ anzugeben und wenn ja, wie lautet die korrekte Notation ?
Wenn das nicht geht, könnte da DirectoryMatch oder LocationMatch dienlich sein ? Wenn ja, wie wäre die Notation ?
Gruß
Moin!
Weiß jemand, ob es möglich ist, mit "allow from" die zugreifende Quelle relativ zum Verzeichnis zu adressieren in dem die .htaccess steht ?
Nein, geht nicht. Dort notierst du die IP-Adresse oder den DNS-Namen des Rechners, der zugreift. Dabei gehen zwar auch Teilbereiche, das hat aber insgesamt nichts mit irgendwelchen Dirs oder Dateien auf dem eigenen Server zu tun.
- Sven Rautenberg
Hi,
Weiß jemand, ob es möglich ist, mit "allow from" die zugreifende Quelle relativ zum Verzeichnis zu adressieren in dem die .htaccess steht ?
geht nicht, wie Sven schon sagte - kann auch nicht gehen, weil du vermutlich einem Denkfehler aufgesessen bist.
Simples Problem: In /DIR/SUBDIR sind Daten und .php's. Beides soll von PHP aus /DIR zugreifbar sein und von sonst überall nicht. Das Ganze (DIR mitsamt /SUBDIR) soll, wenn möglich ohne Änderungen an andere Stelle verschoben werden können.
Geht DIR in .htaccess überhaupt relativ anzugeben und wenn ja, wie lautet die korrekte Notation ?
Entweder geht es dir um die Frage, ob ein PHP-Script auf diese Verzeichnisse zugreifen darf - dann hat der Webserver damit aber nichts zu tun, sondern dann müsstest du das über die Berechtigungen auf Filesystem-Ebene sicherstellen.
Oder geht es um HTTP-Zugriffe auf Ressourcen, die nur im erzeugten HTML-Dokument referenziert werden? Dann kommt der Zugriff nicht "von PHP", sondern vom Browser des Besuchers, der das Dokument abruft. Hilft dir also nicht weiter.
Versuche also erstmal, dir über die genaue Situation klar zuwerden und stelle die Frage dann eventuell erneut. Präziser.
So long,
Martin
PS: Du plenkst. Ist aber heilbar, hab ich mal gehört.
@Der Martin
... weil du vermutlich einem Denkfehler aufgesessen bist.
Genau. Der Ort, von wo aus zugegriffen wird, war mir nicht klar.
Entweder geht es dir um die Frage, ob ein PHP-Script auf diese Verzeichnisse zugreifen darf ... Oder geht es um HTTP-Zugriffe auf Ressourcen, die nur im erzeugten HTML-Dokument referenziert werden?
Aha. Das ist also was grundsätzlich anderes.
Vermute ich also, dass Zugriffe des PHP-Scriptes mit z.B. fread, fwrite, include etc. von der .htaccess nicht beeinflusst werden, ich dafür also ohne weiteres "deny from all" setzen könnte.
Wenn jedoch z.B. über form-action ein PHP in /DIR/SUBDIR gestartet wird, wäre das ein HTTP-Zugriff, dessen Herkunftsort der Client ist, den ich aber gerade nicht aussperren will. Hm !?
Was bleibt also, um das /SUBDIR zu schützen ? Könnte ich zunächst die Daten über FilesMatch dem HTTP-Zugriff entziehen. ( Natürlich auch directory listing verbieten und eine leere index.html reinsetzen. )
Lautet also das eigentliche Problem: Wie verbiete ich selektiv das Ausführen des PHP in /SUBDIR, bzw. erlaube es nur über den Weg einer bestimmten (erzeugten) html beim Client ?
Könnte man über LocationMatch den Namen des aufrufenden scriptes/html filtern ? Wird der überhaupt übertragen ? Wäre wohl auch eher Kosmetik.
Oder man legt den php-code auch als .txt in /SUBDIR ab ind included ihn temporär.
Gruß,
Hi,
Vermute ich also, dass Zugriffe des PHP-Scriptes mit z.B. fread, fwrite, include etc. von der .htaccess nicht beeinflusst werden, ich dafür also ohne weiteres "deny from all" setzen könnte.
Wenn jedoch z.B. über form-action ein PHP in /DIR/SUBDIR gestartet wird, wäre das ein HTTP-Zugriff, dessen Herkunftsort der Client ist
Korrekt.
den ich aber gerade nicht aussperren will. Hm !?
Was bleibt also, um das /SUBDIR zu schützen ?
Vor *was*?
Das ist mir irgendwie immer noch nicht klar.
Lautet also das eigentliche Problem: Wie verbiete ich selektiv das Ausführen des PHP in /SUBDIR, bzw. erlaube es nur über den Weg einer bestimmten (erzeugten) html beim Client ?
Dass ein Request von irgendwo und von irgendwem gemacht wird, kannst du überhaupt nicht verhindern.
Du kannst höchstens unterschiedlich auf Requests reagieren.
Du könntest bspw. das Formular auch per Script ausliefern, und dabei eine Session starten. Damit könntest du zumindest sicherstellen, dass das Formular vorher abgerufen wurde.
„Sicherheit“ gegen die Übermittlung nicht gewünschter/manipulierter Daten liefert das aber natürlich auch nicht. Falls das dein Ziel sein sollte, dann bist du aktuell komplett auf dem Holzweg - dann lautet dein Stichwort Validierung/Plausibilisierung.
MfG ChrisB
Simples Problem: In /DIR/SUBDIR sind Daten und .php's. Beides soll von PHP aus /DIR zugreifbar sein und von sonst überall nicht. Das Ganze (DIR mitsamt /SUBDIR) soll, wenn möglich ohne Änderungen an andere Stelle verschoben werden können.
Geht DIR in .htaccess überhaupt relativ anzugeben und wenn ja, wie lautet die korrekte Notation ?
Werde dir bewusst, was du willst. Ein Zugriff wird von einem Client gemacht, nicht von einem directory.
Ich kann mir aber vorstellen, was du beabsichtigst: Ressourcen sollen nur dann ausgeliefert werden, wenn sie als sekundäre Ressourcen für andere Dokumente benötigt werden.
Z.B. versucht man oft, Hotlinking durch Sperren auf den (unzuverlässigen) Referrer zu blockieren.
Du kannst den Zugriff auf ein Dir abhängig davon machen, ob ein Cookie vorhanden ist. Ein Cookie lässt sich auch in .htaccess abfragen.
mfg Beat