AndreD: Verzeichnis erstellen

Beitrag lesen

Hallo Sevi,

ich möchte, dass auf meiner Homepage Verzeichnisser erstellt werden können. Und zwar möchte ich, dass man über ein Formular den Verzeichnisnamen bestimmen kann.

Vertraue niemals einer Eingabe die über ein Formular kommt!
Deshalb ist Deine Idee ist grundsätzlich eine heisse Kiste, da Du auf jeden Fall sicherstellen musst das der User auch wirklich nur ein Verzeichnis anlegt und nicht andere boese Sachen anstellt.
Aus Deinem Posting schliesse ich mal frech wie ich bin :-) das Du noch nicht lange mit PHP zu tun hast, ziehe bei Bedarf ein guten Programmierer Deines Vertrauens hinzu wenn Du den Code online stellst!

Nun möchte ich, da bei verzeichnis der Wert aus dem Formular steht. Also man soll über ein Formular den Namen des Verzeichnis bestimmen können. Kann mir jemand helfen?

1. Stelle sicher das register_globals in der php.ini auf off stehen.
2. Nutze die Methode POST und übernehme den Verzeichnisnamen aus $_POST["feldname"] in eine lokale, eigene Variable. Diese nimmst Du dann für Deine eigentlichen Operationen im Code.
3. Nutze basename() und realpath() um wirklich nur den Verzeichnisnamen zu erhalten den der User eingegeben hat.
4. In einem guten Buch (Programmieren mit PHP, O'Reilly) hab ich mal gelesen das man per umask() erst die unnötigen Zugriffsrechte abschalten soll und dann die Datei erzeugen soll. Der Tipp galt für Dateien, kann bei Verzeichnissen anders sein, da man die chmod bei der Erstellung angibt.
5. Ich würde meine Zugriffsrechte für eine Datei/Verzeichnis eigentlich nie auf 0777 setzen, überlege wer welche Rechte für Operationen benötigt. Also soll ein User im Verzeichnis jederzeit Files lesen/schreiben/ausführen können?
6. Lass an Ende nochmal einen erfahrenen Programmierer Deines Vertrauens drüberschauen wenn Du wirklich sicher gehen willst dass das ganze relativ sicher ist!

Mehr Infos dazu (solltest Du auf jeden Fall lesen):
http://www.dclp-faq.de/ch/ch-security.html

Gruss und viel Glück!
AndreD