Zugriff auf Dateien sperren (nur require zulassen)
Phil
- webserver
Hallo,
ich wusste nicht so recht, unter welches Themengebiet meine Frage fällt. Ich denk Server ist das passenste.
Mein Problem ist folgendes. Ich habe eine index-Datei, die je nach übergebenem Parameter mittels PHP require eine entsprechende Seite einbindet. Nun ist das Problem, dass ich ja einfach die einzelne Datei (wen nich weiß, wie sie heißt) direkt im Browser aufrufen kann. Dies möchte ich nun aber unterbinden, dass sozusagen nur die index-Datei darauf zugreifen darf. Wie mache ich das am besten? Wenn ich die Zugriffsrechte ändere (also dass nur noch der "USER" lesen und schreiben darf), ändert sich überhaupt nichts. Gibt es eine andere Möglichkeit oder mache ich etwas falsch?
Ich wäre für einen gute Rat sehr dankbar.
Viele Grüße
Phil
Hallo Phil.
Dies möchte ich nun aber unterbinden, dass sozusagen nur die index-Datei darauf zugreifen darf. Wie mache ich das am besten?
Du könntest den Zugriff per HTTP per Order-, Allow- und Deny-Direktive verbieten.
Ein Zugriff auf die Dateien auf Dateisystemebene ist damit natürlich dennoch ohne weiteres möglich.
Einen schönen Montag noch.
Gruß, Ashura
Hallo,
verschiebe alle Datein, die nur über das PHP-Script aufgerufen werden sollen, in ein Verzeichnis. Innerhalb dieses Verzeichnis stellst Du eine Konfigurationsdatei mit folgendem Inhalt ein (beim Apachen heißt diese default ".htaccess" und ich gehe in diesem Beispiel von einem Apachen und dessen Syntax aus):
Order Deny,Allow
Deny from all
Gruß aus Berlin!
eddi
hi,
Mein Problem ist folgendes. Ich habe eine index-Datei, die je nach übergebenem Parameter mittels PHP require eine entsprechende Seite einbindet. Nun ist das Problem, dass ich ja einfach die einzelne Datei (wen nich weiß, wie sie heißt) direkt im Browser aufrufen kann. Dies möchte ich nun aber unterbinden, dass sozusagen nur die index-Datei darauf zugreifen darf. Wie mache ich das am besten?
Einfache Methode (sofern die eingebundenen Dateien ebenfalls PHP-Scripte sind):
Setze im Hauptscript eine Variable, und frage diese am Beginn der Include-Scripte auf Existenz ab - wenn nicht vorhanden, die().
(Dabei natürlich aufpassen, register_globals könnte das wieder unterminieren, wenn der Zugreifende den Variablennamen kennt.)
gruß,
wahsaga
Hello,
beginne den Namen der Datei einfach mit '.ht', also z.B. '.ht_page23.php'
Bei einem Apachen ist das üblicherweise die Voreinstellung für Dateien, die nicht per HTTP ausgeliefert werden sollen.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Danke Euch allen. Ich hab es wirklich ganz einfach mit der htaccess und dem deny verbieten können. Perfekt. Die PHP Lösung mit einer Varibalen hatte ich mir auch überlegt, aber das bietet, wie bereits angedeutet, ja keinen wirklichen Zugriffschutz.
Danke für Eure schnelle Hilfe.
Liebe Grüße aus Postdam
Phil