Hallo Tom vom Berg,
erst einmal vielen dank das Du mir die Augen öffnest!!!
Habe mir die Programmierung des scriptes echt leichter vorgestellt aber jetzt bin ich doch irgendwie an meine grenzen des Verstands angekommen und muss ehrlich sagen das ich wohl zu blöd bin all dieses zu verstehen. Ich habe mir innerhalb 4 Wochen bestimmt 50 Upload Scripte angeschaut, hunderte Forenbeiträge gelesen sowie mich durchgewuselt bei http://de3.php.net/manual/de/ und anderen Manuals sowie Tutorials, seitdem versuche ich was Anständiges hinzubekommen leider bisher ohne erfolg. Hochladen tut das von mir zusammen gewürfelte script ja, aber es ist total unsicher und das sollte auf keinen fall sein.
Du hast ja einiges an meinem vorherigen Script verändert und ich kann noch nicht einmal sagen ob Du es jetzt etwas sicherer gemacht hast oder nicht. Den Hyperlink habe ich raus genommen, der war sowieso fehl am platz. Das mit den 60 Bytes ist nur eine probe gewesen um zu schauen ob das script, Dateien höherer Anzahl, durchlässt. Hat es nicht gemacht und ausgegeben wurde der Fehler. Auch habe ich vorher eine php Datei als gif getarnt also 1.php wurde 1.gif sowie 1.php wurde 1.php.gif, diese wurden auch nicht hochgeladen und der Fehler die Datei besitzt keine gültige Endung ist ausgegeben worden. Deswegen fühlte ich mich schon auf einer etwas Sicheren Seite da die scripte die ich gesehen habe auch so ungefähr aufgebaut waren.
Jetzt hast Du auf mehrere Links verwiesen und ich weiß gar nicht mehr was ich machen soll. http://de3.php.net/manual/de/function.mime-content-type.php habe ich mir angeschaut und zu diesem Thema habe ich noch zwei andere Einträge von Dir gefunden (http://forum.de.selfhtml.org/archiv/2005/2/t100192/
und http://tutorial.riehle-web.com/scripts/mime-type.inc.txt).
Des Weiteren habe ich mir auch die Links; http://httpd.apache.org/docs/2.2/mod/core.html#forcetype
und
http://httpd.apache.org/docs/2.2/mod/core.html#filesmatch angeschaut und hier habe ich einen total Error meines Kleinhirns erhalten!
Ich weiß nicht mehr was ich tun soll, das soll nicht heißen dass ich zu faul dafür bin,
verstehe dass bitte nicht falsch aber ich komme an meine Grenzen.
Kennst Du den jemanden der ein Upload Script wie es jetzt unten steht (nur auf Sicherer Basis) verkauft? Die Umbenennung des Dateinamens über eine POST übergebene ID sollte auf jeden fall vorhanden sein!
Wäre nett wenn Du mir bescheid geben könntest.
Vielen dank noch mal an Dich,
Susi
Hier Dein verändertes script:
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>upload</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form enctype="multipart/form-data" action="" method="post">
<input name="datei" type="file" />
<input type="submit" value="Datei speichern" />
</form>
<?php
if(isset($_FILES['datei']['error']) and $_FILES['datei']['error'] === 0)
{
$datei = basename($_FILES['datei']['name']);
$dateityp_client = $_FILES['datei']['type'];
$max_byte_size = 60;
$mimearray = array("image/gif","image/jpeg","image/pjpeg");
$upload_verzeichnis = dirname($_SERVER['SCRIPT_FILENAME']) . '/upload/';
if(in_array($dateityp_client, $mimearray))
{
if($_FILES['datei']['size'] <= $max_byte_size)
{
if (move_uploaded_file($_FILES['datei']['tmp_name'],"$upload_verzeichnis/$datei"))
{
echo "Datei erfolgreich hochgeladen!<br>";
echo "Name: " . htmlspecialchars($_FILES["datei"]["name"]) . "<br>";
echo "Größe: " . $_FILES["datei"]["size"] . " Byte<br>";
echo "MIME-Type: " . $_FILES["datei"]["type"] . "<br>";
}
else { echo "Datei konnte nicht hochgeladen werden."; }
}
else { echo "Die Datei darf nur " . $max_byte_size . " Byte gross sein."; }
}
else { echo "Die Datei besitzt keine gültige Endung."; }
}
?>
</body>
</html>