steffen: chmod problem

Hi leute,

soo habe endlich ein kleinen Adminbereich gebastelt und nun mein großes Problem...

Ich erstelle mit dem Adminbereich eine neue Seite danach schreibe ich etwas in die datei ich schließe sie und dann änder ich den chmod auf 0777.

$f1=fopen($_POST['seitenname'].".php", "a+");
$f2=" .... ";
fwrite($f1, $f2);
fclose($f1);
chmod($_POST['seitenname'].".php", "0777");

Jetzt include ich etwas bei der erstellten Seite und er märkelt über den SELF_MODE

http://gloop.cg-space.de/bier/TABU.php

zudem kann ich die Datei nicht kopieren ..

wer weiß rat?

Steffen

  1. Hello Steffen,

    Ich erstelle mit dem Adminbereich eine neue Seite danach schreibe ich etwas in die datei ich schließe sie und dann änder ich den chmod auf 0777.

    $f1=fopen($_POST['seitenname'].".php", "a+");

    Da kann man jetzt alle Files öffnen, auf die der Apache (PHP) Zugriff hat. Selbst wenn Du vorher eine Passwortabfrage gemacht haben solltest, sollte der Pfad eingeschränkt werden.

    $f2=" .... ";
    fwrite($f1, $f2);
    fclose($f1);
    chmod($_POST['seitenname'].".php", "0777");

    Jetzt include ich etwas bei der erstellten Seite und er märkelt über den SELF_MODE

    Das ist nicht der SELF_MODE (den gibt es nur hier *gg*) sonder der SAFE_MODE und der hat etwas mit ergänzenden Sicherheitsmechanismen von PHP zu tun.

    Das Script, dass Du mit fopen(a+) geöffnet hast, gehört entweder dem User, der es ursprünglich angelegt/hochgeladen hat (wenn Root nicht zwischendurch da war) oder es gehört dem Apachen (PHP), wenn es eben gerade nue erzeugt wurde.

    Wenn PHP nun mittels dieses Scriptes auf ein weitere Ressourcen im Filesystem zugreifen will und der SAFE_MODE ist aktiviert, dann tut PHP das nur, wenn auch das Zielscript den gleichen Eigentümer hat.

    Das heißt also, das auch das Zielscript dem Apachen gehören müsste.

    Da der Owner einer Datei nur durch Root gewechselt werden darf, hast Du nur die Möglichkeit, alle Scripte mittels Uploadscript hochzuladen.

    Eas gibt dann noch den SAFE_MODE_GID, der das ganze etwas auflockert. Wenn Dein phpinfo() Dir sagt, dass der auch eingeschaltet ist, kannst Du auch mit dem Einstellen einer Gruppe arbeiten, in der z.B. Du als User UND der Apache sind. Aber wahrscheinlich wird der Provider das nicht vernünftig vorbereitet haben. :-(

    http://gloop.cg-space.de/bier/TABU.php

    zudem kann ich die Datei nicht kopieren ..

    wer weiß rat?

    Steffen

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen