Tom: Upload script über My SQL

Beitrag lesen

Hello,

Dein Script lag ungeschützt im Netz.
Da konnte man Dir alles mögliche auf den Server hochladen.
Das solltest Du schnellstens ändern.

Der einfachste Schutz ist, in das Script ganz oben eine Abfrage einzubauen (Beispiel):

if(!isset($_POST['id']) or $_POST['id'] != '49blaH08-15kLaus')) die('keine Berechtigung');
                                             -----------------
Dann darfst Di diesen Vergleichswert aber nicht mehr veröffentlichen und musst dafür sorgen, dass sich niemand das Script mit dem Wert drin beschaffen (runtertladen) kann.

#> if ($_FILES['userfile']['tmp_name']<> 'none')

das sollte besser anders anfangen

if ($_FILES['userfile']['error']!== 0)    ## Der Upload hat technisch einwandfrei funktioniert
  {
     $file = mysql_escape_string(basename($_FILES['userfile']['name']));

##     $temp = $_FILES['userfile']['tmp_name'];      ## unnötige Variablenkopie
##     $path_parts = pathinfo($file);
##     $filename = "" . $time . "." . $path_parts["extension"];
     $dest = $path.$filename;                        ## woher kommt $path?

echo "Pfad: $dest";         ## Zur Kontrolle mal ausgeben lassen

move_uploaded_file($temp, $dest);

echo "Die Datei ist auf dem Server! <br><br>";
      echo "Url der Datei: <a href="$deindomain$path$filename" target="_blank">".$deindomain.$path.$filename;
     echo "</a>";
   }
} else { ?>

Ich hoffe, dass $path nicht direkt aus einem $_POST oder $_GET kommt, sondern erst noch transformiert wird.

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

Tom

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