Hello,
Das ist eine nicht durchdachte Forderung. Jeder denkt anders und nicht immer in die beabsichtigte Richtung. Ich dachte, wir bewegen uns gerade nur noch auf der sachlichen Ebene, also lass bitte diese Provokationen.
Tut mir leid, wenn das so ankommt.
Ich empfinde es als Provokation, wenn Sven dreimal wie ein kleines Kind "warum, warum, warum" fragt. Ich habe erläutert, worum es geht. Das habe ich sogar schon in
http://forum.de.selfhtml.org/archiv/2011/4/t204544/#m1385518
getan.
Das upload_tmp_dir ist leider bei den meisten Standareinrichtungen ein shared Directory und das T-Flag schützt nur gegen Löschen und Umbenennen, nicht aber gegen Änderung des Inhaltes. So zumindest auf Unix-Installationen. Wenn dann auch noch der "PHP-User" unterschiedlicher Domains derselbe ist, kann man das Datenändern gar nicht mehr verhindern.
Du willst jetzt aber nicht einen Safe Mode für Datei-Uploads einführen?
Das hat nichts mit _dem_ "Safe-Mode" zu tun, aber wenn Du es so nennen willst, nenne es ruchi "safe_move_uploaded_file()". Das wäre (mMn) die einzige Maßnahme, die eine Manipulation der hochgeladenen Dateien des Users A.a durch den User B.x verhindern kann, wenn ein gemeinsames Upload-Verzeichnis genutzt wird.
A.a sei ein User a unter Account (Domain) A
B.x sei ein User x unter Account (Domain) B, z.B. mit erheblicher krimineller Energie
Solange das File im Temporärverzeichnis (sogar mit t-Flag angelegt) schlummert, kann es von anderen Usern ggf. manipuliert werden. Da nützt es also nichts, wenn nur "uploaded Files" verschoben werden können, wenn die aber nicht sicher gelagert werden können bis zur Verschiebung.
Der Sinn der Funktion sollte mMn nicht der sein, den User (Programmierer) vor sich selber zu schützen (das leistet sie ja auch nicht, da er beliebige andere Möglichkeiten habt, die Dateien zu verschieben), sondern vor den Angriffen Dritter.
Und solange sie das nicht tut, bleibt sie mMn obsolet, seitdem es $_FILES als "sicheres Array" gibt.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg