Hallo zusammen,
ich beschäftige mich erst seit kurzem mit php und habe folgendes Problem welches ich nicht lösen kann;
Ich möchte Dateien bzw. Bilder in einen Ordner hochladen möglichst sicher.
Das durchsuchen der Festplatte geht, das Hochladen an sich auch, aber es wird dann mit der Meldung (die ich selbst definiert habe) - Möglicher Angriff beim Hochladen - abgebrochen, und das verstehe ich nicht.
Ein anderes Problem ist das wenn ich die Seite aufrufe sofort die Fehlermeldung - Dies ist keine Bilddatei, jpeg-jpg-jpe verwenden! - da steht.
Kann mir da jemand helfen?
Hier mein script dazu:
ich beschäftige mich erst seit kurzem mit php und habe folgendes Problem welches ich nicht lösen kann;
Ich möchte Dateien bzw. Bilder in einen Ordner hochladen möglichst sicher.
Das durchsuchen der Festplatte geht, das Hochladen an sich auch, aber es wird dann mit der Meldung (die ich selbst definiert habe) - Möglicher Angriff beim Hochladen - abgebrochen, und das verstehe ich nicht.
Ein anderes Problem ist das wenn ich die Seite aufrufe sofort die Fehlermeldung - Dies ist keine Bilddatei, jpeg-jpg-jpe verwenden! - da steht.
Kann mir da jemand helfen?
Hier mein script dazu:
PHP-Code:
<body>
<p>Bild hochladen</p>
<p> </p>
<p> </p>
<form enctype="multipart/form-data" action="up.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
Dieses Bild hochladen:<input name="userfile" type="file">
<input type="submit" value="Hochladen">
</form>
<?php
if ($_FILES['userfile']['error'] > 0) {
echo 'Problem: ';
switch ($_FILES['userfile']['error']) {
case 1: echo 'Die Datei ist größer als uploud_max_filesize.' ; break;
case 2: echo 'Die Datei ist größer als ma_file_size.' ; break;
case 3: echo 'Die Datei wurde unvollständig hochgeladen.' ; break;
case 4: echo 'Es wurde keine Datei hochgeladen.' ; break;
}
exit;
}
if ($_FILES['userfile']['type'] != 'image/jpeg') {
echo 'Problem: Dies ist keine Bilddatei, jpeg-jpg-jpe verwenden!';
exit;
}
$upfile = '/uploads/' . $_FILES['userfile']['name'];
if (is_uploaded_file($_FILES['userfile']['tmp-name'])) {
if (!move_uploaded_file($_FILES['userfile']['tmp-name'], $upfile)) {
echo 'Problem: Konnte die Datei nicht in Zielverzeichniss verschieben.';
exit;
}
} else {
echo 'Problem: Möglicher Angriff beim Hochladen. Dateiname: ';
echo $_FILES['userfile']['name'];
exit;
}
echo ' Die Datei wurde erfolgreich hochgeladen.<br><br>';
$fp = fopen($upfile, 'rb');
$contents = fread ($fp, filesize ($upfile));
fclose ($fp);
$contents = strip_tags($contents);
$fp = fopen($upfile, 'w');
fwrite($fp, $contents);
fclose($fp);
echo 'Vorschau der hochgeladenen Datei:<br><hr>';
echo $contents;
echo '<br><hr>';
?>
</body>
Kommentar