Peterle: Datei richtig chmodden

Hallo Leute

Folgendes:
Ich habe eine Datei, in der verschiedene Informationen gespeichert werden, die nicht irgendjemand über http, ftp, usw. aufrufen können soll.
Allerdings soll ein PHP-Script auf diese Datei zugreifen und sowohl Daten auslesen, als auch wieder hineinschreiben können.
Wie muss ich die Datei nun chmodden?

Vielen Dank
Peterle

  1. morgens,

    Allerdings soll ein PHP-Script auf diese Datei zugreifen und sowohl Daten auslesen, als auch wieder hineinschreiben können.
    Wie muss ich die Datei nun chmodden?

    Mit denselben Rechten, die dein PHP-Script entweder selbst hat oder neu setzt.

    Christoph S.

  2. Moin!

    Folgendes:
    Ich habe eine Datei, in der verschiedene Informationen gespeichert werden, die nicht irgendjemand über http, ftp, usw. aufrufen können soll.
    Allerdings soll ein PHP-Script auf diese Datei zugreifen und sowohl Daten auslesen, als auch wieder hineinschreiben können.
    Wie muss ich die Datei nun chmodden?

    Das ist problematisch bis unmöglich nur über chmod zu lösen.

    Wenn PHP die Datei lesen können soll (von schreiben mal ganz abgesehen), dann muß der User, unter dem der Webserver läuft, die Datei lesen können. Wenn dieser User die Datei lesen kann, kann der Webserver die Datei auch ausliefern, wenn:
    1. Die Datei innerhalb des Document-Root liegt
    2. Die Auslieferung nicht durch die Webserverkonfiguration (httpd.conf oder .htaccess) verboten ist

    Und genau dieser zweite Punkt ist die Lösung zu deinem Problem: Verbiete die Auslieferung der Datei per .htaccess, sofern du sie nicht außerhalb des Document-Root platzieren kannst (was natürlich die bessere Idee ist).

    - Sven Rautenberg

    --
    Signatur oder nicht Signatur - das ist hier die Frage!
    1. Hallo Sven

      Danke für deine Antwort

      Und genau dieser zweite Punkt ist die Lösung zu deinem Problem: Verbiete die Auslieferung der Datei per .htaccess,

      Was muss ich in die .htaccess reinschreiben?

      sofern du sie nicht außerhalb des Document-Root platzieren kannst (was natürlich die bessere Idee ist).

      Wie würde man das hinkriegen? Oder meinst du außerhalb des Stammordners? (das ist zumindest bei meinem Webspace ein Unterschied: document_root: "/a/n/c/" stammordner: c/)

      Peterle

      1. Moin!

        Hallo Sven

        Danke für deine Antwort

        Und genau dieser zweite Punkt ist die Lösung zu deinem Problem: Verbiete die Auslieferung der Datei per .htaccess,

        Was muss ich in die .htaccess reinschreiben?

        Zum Beispiel:

        <Location /pfad/zur/datei.ext>
        Order deny, allow
        Deny from all
        </Location>

        Sowas geht zumindest in der zentralen httpd.conf - ob Location in .htaccess erlaubt ist, weiß ich jetzt spontan gerade nicht.

        Oder du hast ein einzelnes Verzeichnis, in dem die Datei drin ist, und packst da nur

        Order deny,allow
        Deny from all

        rein.

        sofern du sie nicht außerhalb des Document-Root platzieren kannst (was natürlich die bessere Idee ist).

        Wie würde man das hinkriegen? Oder meinst du außerhalb des Stammordners? (das ist zumindest bei meinem Webspace ein Unterschied: document_root: "/a/n/c/" stammordner: c/)

        Document-Root ist ist das Verzeichnis, welches mit http://www.example.com/ angesprochen wird - das WWW-Hauptverzeichnis. Wenn du mit FTP noch eine Verzeichnisebene _höher_ kommst, kannst du dort (oder in auf dieser Ebene anzulegenden Unterverzeichnissen) deine Dateien ablegen. Sie sind dann vom Web aus unzugänglich, weil ein Zugriff der Art http://www.example.com/../verzeichnis/geheimedatei.ext eben _nicht_ ein Verzeichnis hochgeht, sondern gleichbedeutend ist mit http://www.example.com/verzeichnis/geheimedatei.ext - und diese Datei gibts eben an dieser Stelle nicht.

        - Sven Rautenberg

        --
        Signatur oder nicht Signatur - das ist hier die Frage!
        1. hallo Sven,

          ob Location in .htaccess erlaubt ist, weiß ich jetzt spontan gerade nicht.

          Ist es nicht, siehe http://httpd.apache.org/docs-2.0/mod/core.html#location. Möglich ist <Location> unmittelbar in der httpd.conf sowie in Virtual Host-Abschnitten.
          Allerdings ist <Files> in einer .htaccess zulässig, siehe http://httpd.apache.org/docs-2.0/mod/core.html#files

          Grüße aus Berlin

          Christoph S.

  3. Ich danke euch, ihr habt mir weitergeholfen!!!

    Peterle