include() umgeht .htaccess
Philipp Grashoff
- php
Hi all,
ich hab nun 75 Minuten erfolglos im Archiv geschaut und nix zu meinem Problem gefunden:
Ich habe ein Verzeichnis per .htaccess passwortgeschuetzt -> wenn ich versuche, die Datei direkt zu laden, gehts gut...
Nun wird aber diese Datei auf jeden Fall per include() eingebunden... paff! Passwortschutz? Was ist das?
Kann ich irgendwie erreichen, dass man auch in diesem Falle das Passwort eingeben muss, oder muss ich die Datei, in der included wird, ebenfalls in das Verzeichnis kopieren?
MFG
Philipp
Hallo Philipp,
stark vereinfacht ausgedrückt, schütz die .htaccess nach aussen. Dein PHP Script läuft aber mit allen erforderlichen Rechten 'innen'. Ohne vermehrten Aufwand ist es also nicht möglich, dieses Include via htaccess zu verhindern.
Das kann auch nicht im Sinne des Erfinders sein, sonst könntest Du ja nur Dateien einbinden, auf die Dein Besucher Zugriff hat. Was bei Passwörtern u.ä. ziemlich unpraktisch wäre. ;)
Gruss, Thoralf
Hi,
Ich habe ein Verzeichnis per .htaccess
passwortgeschuetzt
... gegen HTTP-Zugriffe, ausgewertet vom Webserver.
Nun wird aber diese Datei auf jeden Fall per include
() eingebunden... paff! Passwortschutz? Was ist das?
"include", was ist das ? Kein HTTP-Zugriff.
Der Webserver merkt nichts davon.
Kann ich irgendwie erreichen, dass man auch in
diesem Falle das Passwort eingeben muss,
Nein.
oder muss ich die Datei, in der included wird,
ebenfalls in das Verzeichnis kopieren?
Um was zu erreichen?
Viele Grüße
<img src="http://www.schroepl.net/projekte/gzip_cnc/gzip_cnc.gif" border=0 alt=""> Michael
oder muss ich die Datei, in der included wird,
ebenfalls in das Verzeichnis kopieren?
Um was zu erreichen?
Um zu erreichen, dass die Include-Seite direkt verlinkt wird, wo dann der .htaccess Schutz funzt...
Gibt es denn keine Moeglichkeit, trotz include() n sicheren pwschutz einzubauen?
MFG
Philipp
Hi!
Um was zu erreichen?
Um zu erreichen, dass die Include-Seite direkt verlinkt wird, wo dann der .htaccess Schutz funzt...
Was sollst Du denn jetzt erreichen und was willst Du verhindern?
mit einem .htaccess-Passwortschutz kannst Du verhindern, das die Dateien in diesem Verzeichnis übeer den Browser nicht ohne Eingabe des Passwortes aufgerufen werden können. Daher können diese Dateien auch nicht von anderen Internetseiten verlinkt werden. Ist es das was Du willst?
Gibt es denn keine Moeglichkeit, trotz include() n sicheren pwschutz einzubauen?
include() ist eine PHP Funktion, damit kannst Du theotetisch Dateien von irgendwo auf Deinem Server direkt einbinden, egal ob jetzt im HTTP-zugänglichen Bereich, egal ob da in htaccess-geschützten Seiten, oder von einer ganz anderen Stelle des Servers. Die per include() eingebundene Code wird so zu sagen in die Datei, in der include() steht eingebettet. Für http-Zugriffe über den Browser steht dan im prinzip alles in dieser Datei. Wenn kannst Du diese Datei per htaccess schützen.
Aber ich versteh das Problem nicht wirklich! Wenn das was in der eingebundenen Datei steht nicht angezeigt werden soll, warum bindest Du das dann überhaupt ein?
Viele Grüße
Andreas
Hi Andreas,
Aber ich versteh das Problem nicht wirklich! Wenn das was in der eingebundenen Datei steht nicht angezeigt werden soll, warum bindest Du das dann überhaupt ein?
Sie soll ja angezeigt werden, aber erst nach passwortabfrage!
MFG
Philipp
P.s.: Muss ich wohl doch irgendein Loginscript schreiben...
Hi Phillipp,
Sie soll ja angezeigt werden, aber erst nach
passwortabfrage!
sorry - ich verstehe Dein Problem ebenfalls nicht.
Ich fürchte, dafür mußt Du etwas mehr Informationen
liefern.
Viele Grüße
<img src="http://www.schroepl.net/projekte/gzip_cnc/gzip_cnc.gif" border=0 alt=""> Michael
Hi All,
also: Ich habe ein Projekt, in dem ich eine Zentrale index.php habe, in diese werden immer wieder verschiedene Dinge included. Nun hat diese Seite aber auch einen Internen Bereich; Diesen Haette ich auch gerne im Seitenstyle (weil die Page halt net fuer mich ist), weswegen ich die internen Inhalte, die man erst nach Erfolgreicher Passwortabfrage Betreten darf, ebenfalls Includen.
MFG
Philipp
Hallo!
also: Ich habe ein Projekt, in dem ich eine Zentrale index.php habe, in diese werden immer wieder verschiedene Dinge included. Nun hat diese Seite aber auch einen Internen Bereich; Diesen Haette ich auch gerne im Seitenstyle (weil die Page halt net fuer mich ist), weswegen ich die internen Inhalte, die man erst nach Erfolgreicher Passwortabfrage Betreten darf, ebenfalls Includen.
Du hast nur Dein Problem, wenn index.php sowohl die Strartseite und gleichzeitig der interne Bereich sein soll, IMHO ziemlicher Quatsch. Lege ein Unterverzeichnis für den internen Bereich an, lege darin die gleiche index.php ab, nur zusätzlich mir dem einen include(), oder Du bindest die Teile, die Du designmäßig von der index.php, der Startseite haben willst dort ebenfalls mit include() ein, dann kannst Du in diese in Deinem internen Bereich ebenfalls einbinden + Deinen geheimen Code ;-)
Die Seite die Du im Brower aufrufst kannst Du schützen, includen kannst Du was und von wo Du möchtest, das bekommt man eber auch erst zu sehen, wenn die Datei, in der eben dieser include() Aufruf steht geöffnet werden kann. Wenn da kein Passwortabfrage kommt, kannst Du auch nicht verhindern, dass die per include() eingebundenen Inhalte angezeigt werden. Das kannst Du nur verhindern, indem Du die im Browser aufgerufene Seite in ein htaccess-geschützes Verzeichnis legst, dann wird ohne Passwort eben gar nichts angezeigt!
Ich würde mir nochmal Gedanken über die Verwendung von include() in Deinem Projekt machen, das hört sich alles recht abenteuerlich an ;-)
Lies Dir mal in Ruhe folgendes durch: http://www.php.net/manual/de/function.include.php, dann erledigt sich ich das Problem wahrscheinlich!
Grüße
Andreas
Hi Andreas,
Ich würde mir nochmal Gedanken über die Verwendung von include() in Deinem Projekt machen, das hört sich alles recht abenteuerlich an ;-)
Ich findsd eigentlich nicht Abenteuerlich, sondern Logisch: Alles bis auf den Konkreten Inhalt der Menuepunkte steht in der index.php, also die beiden Menueleisten, der Head, der Hintergrund usw... somit ist alles, was ich in die includeten Seiten schreiben muss, nur noch 3 div-bereiche und ansonsten nur Text, keinerlei weitere Tags (eh sei denn, ich will Bilder im Text...)
MFG
Philipp