HaeS: txt-Datei einbinden und bearbeiten

Ich hab eine php-Seite erstellt, die den Text einer txt-Datei ausgibt. In einem passwortgeschützten Unterordner kann man diese txt-Datei über ein einfaches Formular bearbeiten und somit schnell und unkompliziert den Text auf der Homepage ändern.

Damit ich in die txt-Datei schreiben kann muss ich die Rechte der Datei auf 666 ändern (bzw. so ändern, dass Andere Schreibrecht haben). Das Problem ist ja nun aber, dass jetzt jeder, der den Pfad zu der txt-Datei kennt, diese bearbeiten kann, oder liege ich da falsch?

Gibt es eine Möglichkeit, dieses Problem zu lösen oder zu umgehen? Für einen kleinen Wink mit dem Zaunpfahl wäre ich dankbar :-)

  1. Moin HaeS,

    Damit ich in die txt-Datei schreiben kann muss ich die Rechte der Datei auf 666 ändern (bzw. so ändern, dass Andere Schreibrecht haben). Das Problem ist ja nun aber, dass jetzt jeder, der den Pfad zu der txt-Datei kennt, diese bearbeiten kann, oder liege ich da falsch?

    Gibt es eine Möglichkeit, dieses Problem zu lösen oder zu umgehen? Für einen kleinen Wink mit dem Zaunpfahl wäre ich dankbar :-

    }

    Wenn Du keinen IIS benutzt, dann geht das über die .htaccess ( Dazu kann ich leider nichts sagen )

    Anderenfalls kannst du die Datei vor das WEB Roor legen, dann ist sie nicht per URL erreichbar, sondern nur mit deinenm PHP Programm.

    Gruß
    Mike

    --
    Murphy: "Wenn etwas schiefgehen kann, dann wird es auch schiefgehen."
  2. Moin nochmal,

    »» Ich hab eine php-Seite erstellt, die den Text einer txt-Datei ausgibt. In einem passwortgeschützten Unterordner kann man diese txt-

    das hatte ich ganz überlesen. Wenn der Unterordner passwortgeschützt ist, sollte es nicht möglich sein die TXT von aussen zu manipulieren.

    Gruß
    Mike

    --
    Murphy: "Wenn etwas schiefgehen kann, dann wird es auch schiefgehen."
    1. Moin!

      »» Ich hab eine php-Seite erstellt, die den Text einer txt-Datei ausgibt. In einem passwortgeschützten Unterordner kann man diese txt-

      das hatte ich ganz überlesen. Wenn der Unterordner passwortgeschützt ist, sollte es nicht möglich sein die TXT von aussen zu manipulieren.

      Es geht hier nicht um den HTTP-Zugriff, sondern um den Dateizugriff serverintern. Da hilft .htaccess nichts.

      - Sven Rautenberg

      1. Moin Sven,

        Es geht hier nicht um den HTTP-Zugriff, sondern um den Dateizugriff serverintern. Da hilft .htaccess nichts.

        Achso, es geht darum, dass auf dem betreffenden Server mehrere Leute ihre Page histen und unter Umständen über einen direkten Pfad Uugriff
        haben. Das habe ich in der Tat falsch verstanden. Ich ging von HTTP aus.

        Gruß
        Mike

        --
        Murphy: "Wenn etwas schiefgehen kann, dann wird es auch schiefgehen."
  3. Moin!

    Damit ich in die txt-Datei schreiben kann muss ich die Rechte der Datei auf 666 ändern (bzw. so ändern, dass Andere Schreibrecht haben). Das Problem ist ja nun aber, dass jetzt jeder, der den Pfad zu der txt-Datei kennt, diese bearbeiten kann, oder liege ich da falsch?

    Jeder, der selbstprogrammierte Programme auf dem Server ausführen kann und die passenden Zugriffsrechte besitzt. Das schließt alle Webbesucher schon mal komplett aus und schränkt den Kreis auf die ein, welche auf demselben Server ebenfalls PHP o.ä. betreiben dürfen.

    Der Serveradmin kann aber noch weitergehende Sicherheitsmaßnahmen (Stichworte Safe_mode, Gruppenrechte, Verzeichnisrechte, ACLs) ergreifen, um damit die einzelnen Webpräsenzen gegeneinander abzuschotten.

    Gibt es eine Möglichkeit, dieses Problem zu lösen oder zu umgehen? Für einen kleinen Wink mit dem Zaunpfahl wäre ich dankbar :-)

    Mein erster Gedanke: Muß es denn wirklich Mode 666 sein. Der ist immer böse, er gibt dem Besitzer, der Dateigruppe UND allen anderen Benutzern des Rechners Schreibrechte. Du solltest immer versuchen, die geringstmöglichen Rechte zu gewähren. Welche das sind, hängt von der konkreten Konfiguration deines Servers ab. 666 ist die "funktioniert immer und überall für die DAUs"-Lösung, die man nicht anwenden sollte, ohne zu wissen, was man tut.

    Bedenke, dass PHP noch wesentlich mehr bietet, als nur den direkten Dateizugriff. Du hast beispielsweise die Möglichkeit, auch über FTP zuzugreifen. Dann werden die Dateien zu angelegt, als hättest du sie persönlich hochgeladen, und du kannst die Zugriffsrechte wesentlich weiter einschränken. Der FTP-Zugriff ist, sofern konfiguriert, mittels fopen() möglich. Einziger Nachteil: Du mußt die FTP-Zugangsdaten im Script angeben.

    - Sven Rautenberg

    1. Das mit dem FTP hört sich gut an, werde mich mal damit befassen. Danke!

    2. Hello,

      Damit ich in die txt-Datei schreiben kann muss ich die Rechte der Datei auf 666 ändern (bzw. so ändern, dass Andere Schreibrecht haben). Das Problem ist ja nun aber, dass jetzt jeder, der den Pfad zu der txt-Datei kennt, diese bearbeiten kann, oder liege ich da falsch?

      Jeder, der selbstprogrammierte Programme auf dem Server ausführen kann und die passenden Zugriffsrechte besitzt. Das schließt alle Webbesucher schon mal komplett aus und schränkt den Kreis auf die ein, welche auf demselben Server ebenfalls PHP o.ä. betreiben dürfen.

      Korrektur: mindestens jeder, der eine shell auf dem Server starten darf. Und das ist bei ssh und telnet-Zugang oder bei remote login doch 'irgendwie' der Normalfall.

      Der Serveradmin kann aber noch weitergehende Sicherheitsmaßnahmen (Stichworte Safe_mode, Gruppenrechte, Verzeichnisrechte, ACLs) ergreifen, um damit die einzelnen Webpräsenzen gegeneinander abzuschotten.

      für PHP den SafeMode und das Setzen eines 'open_basedir'.

      Mein erster Gedanke: Muß es denn wirklich Mode 666 sein. Der ist immer böse

      Verschaff Dir doch mal Überblick, zu welchen Gruppen Du gehörst und zu welchen Gruppen der Webserver gehört. Als Beispiel:

      thomas@testserver:/$ groups wwwrun
      wwwrun : websites szene praktikum wwwrun
      thomas@testserver:/$ groups thomas
      thomas : szene websites praktikum
      thomas@testserver:/$

      auf meinem Testserver läuft der Apache unter dem Namen 'wwwrun'

      Er ist Mitglied der Gruppen websites, szene, praktikum, wwwrun
      Ich selber (thomas) bin Mitglied in den Gruppen szene, websites, praktikum

      Wenn ich nun die Gruppenzugehöriogkeit einer von mir hochgeladenen Datei auf die Gruppe websites übertrage, und die Gruppe websites Schreib- und Leserechte auf die Datei hat, dann darf der wwwrun auch darauf zugreifen - wenn nicht der Safe_mode (ohne safe_mode_gid) aktiviert ist.

      Das müsstest Du erstmal klären.

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

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