Hallo Leute,
es geht diesmal auch um Bilder aber diesesmal um den Upload, wie in meinem letzten Thread von schon jemandem angesprochen, ist das eine große Sicherheitslücke..
Deshalb wollte ich euch mal fragen, ob ihr mal über meins drübergucken könnt, und mit Tipps zur Sicherheit geben könntet :)
Hier der HTML:
Noch nichts besonderes, hier die upload.php:
Ist das Sicher?
es geht diesmal auch um Bilder aber diesesmal um den Upload, wie in meinem letzten Thread von schon jemandem angesprochen, ist das eine große Sicherheitslücke..
Deshalb wollte ich euch mal fragen, ob ihr mal über meins drübergucken könnt, und mit Tipps zur Sicherheit geben könntet :)
Hier der HTML:
HTML:
<form method="post" action="upload.php" enctype="multipart/form-data">
<input type="file" name="image" /> <br/>
<input type="submit" name="submit" value="Upload" />
</form>
PHP:
<?php
session_start();
include('connect.php');
if(getimagesize($_FILES['image']['tmp_name']) == "" || !getimagesize($_FILES['image']['tmp_name'])){ header("Location: datei.php");
}
if(isset($_POST['submit']) && $_POST['submit'] != "" && $_POST['submit'] == "Upload"){
// File Variables
$name= $_FILES['image']['name'];
$temp= $_FILES['image']['tmp_name'];
$type= $_FILES['image']['type'];
$size= $_FILES['image']['size'];
// Recognizing the extension
switch( $type ){
// Image/Jpeg
case 'image/jpeg':
$ext= '.jpg';
break;
// Image/png
case 'image/png':
$ext= '.png';
break;
// Image/gif
case 'image/gif':
$ext= '.gif';
break;
}
$infos = @getimagesize($_FILES['image']['tmp_name']);
$breite = $infos[0];
$hohe = $infos[1];
$dateityp = $infos[2];
$zulaessige_formate = array(1, 2, 3);
$bildinformationen = @getimagesize($_FILES['image']['tmp_name']);
$fehler = true;
if ($bildinformationen != false){
if(in_array($bildinformationen[2], $zulaessige_formate)) {
// echo "Das ist ein gueltiges Bildformat<br/>";
// Upload Variables
$path= 'ordner/bilder/'$irgenteinevariable_zufalsname_fur_bild.''.$ext;
// Check for the Image post.
if( $_POST ){
// Got into the POST check.
if( $_FILES ){
// Got into the FILES check.
if(move_uploaded_file( $temp, $path )){
$user_bild_pfad = str_replace("1internes/bilder/pb/", "", $path);
mysql_query("INSERT aksndkjasd (feld) VALUES ('$user_bild_pfad')");
echo "<span>Das Bild <strong>".$name."</strong> wurde erfolgreich hochgeladen!</span><br/>";
}
}
}
$fehler = false;
}
}
if($fehler){
echo "<span>Das Bildformat ist ungueltig. Erlaubt sind nur 'GIF', 'JPG' und 'PNG' Dateien.</span><br/>";
exit;
}
}else{
header("Location: datei.php");
}
?>
Ist das Sicher?
Zuletzt bearbeitet: