Phil: Zugriff auf Dateien sperren (nur require zulassen)

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

  1. 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

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
    [HTML Design Constraints: Logical Markup]
  2. 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

    --
    Frei nach Goethe: ... Ich bin ein Teil jener Kraft die stets das Gute will... ]:þ
  3. 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

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  4. 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

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

  5. 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