Hallo,
ich hab hier ein kleines Privates Upload Skript das ich für paar Sachen auf meinem Webserver nutze, das auch soweit für meine Ansprüche gerecht ist - Nur sind mir in den letzten Tagen vermehrt Dateien aufgefallen die ich nicht hochgeladen habe - Besonders eine "cookie_overflow.php" ...
Das bereitet mir jetzt allmählich Kopfschmerzen, das ich an das Sicherheitsrisiko nicht eher gedacht hab.
Darum ist die Frage, wie ich mein Upoadscript so ergänze (hab vom php selber schreiben leider keine Ahnung) das man lediglich .jpg und .gif. Dateien damit hochladen kann?
Hier das Script :
Wäre vielleicht bitte jemand so nett und könnte mir da auf die Sprünge helfen?
Ich hab schon folgendes versucht :
Allerdings bringt er mir jetzt 3 mal "Dateiendung nicht erlaubt..." und ladet auch nix hoch !?!
Hm ... Irgendwas schein ich verkehrt gemacht zu haben!
Danke !
Natheedo
ich hab hier ein kleines Privates Upload Skript das ich für paar Sachen auf meinem Webserver nutze, das auch soweit für meine Ansprüche gerecht ist - Nur sind mir in den letzten Tagen vermehrt Dateien aufgefallen die ich nicht hochgeladen habe - Besonders eine "cookie_overflow.php" ...
Das bereitet mir jetzt allmählich Kopfschmerzen, das ich an das Sicherheitsrisiko nicht eher gedacht hab.
Darum ist die Frage, wie ich mein Upoadscript so ergänze (hab vom php selber schreiben leider keine Ahnung) das man lediglich .jpg und .gif. Dateien damit hochladen kann?
Hier das Script :
PHP-Code:
<?php
## pfad von dieser datei aus wo das hochgeladen werden soll
$dir = "../pics/vorlagenpics/bildupload";
$url = "[URL="http://www.DOMAIN.de"]http://www.DOMAIN.de[/URL]";
if($_POST['uppen']){
if(!empty($_FILES['file']['name'])){
// Tmp_name
$tempname = $_FILES['file']['tmp_name'];
$tempname2 = $_FILES['file2']['tmp_name'];
$tempname3 = $_FILES['file3']['tmp_name'];
// Namen der dateien
$name = str_replace(" ","_",$_FILES['file']['name']);
$name2 = str_replace(" ","_",$_FILES['file2']['name']);
$name3 = str_replace(" ","_",$_FILES['file3']['name']);
// typen der dateien
$type = $_FILES['file']['type'];
$type2 = $_FILES['file2']['type'];
$type3 = $_FILES['file3']['type'];
// groeße der dateien
$size = $_FILES['file']['size'];
$size2 = $_FILES['file2']['size'];
$size3 = $_FILES['file3']['size'];
// Dateien kopieren
@copy("$tempname", "$dir/$name");
@copy("$tempname2", "$dir/$name2");
@copy("$tempname3", "$dir/$name3");
// Ueberpruefung
$f1 = file_exists($dir."/".$name);
$f2 = file_exists($dir."/".$name2);
$f3 = file_exists($dir."/".$name3);
if($f1) {
$output = $url."/pics/vorlagenpics/bildupload/".$name;
$ausgabe = htmlentities(stripslashes($output));
}else echo "Upload von Datei 1 fehlgeschlagen!<br>";
if($f2){
$output2 = $url."/pics/vorlagenpics/bildupload/".$name2;
$ausgabe2 = htmlentities(stripslashes($output2));
}else echo "Upload von Datei 2 fehlgeschlagen!<br>";
if($f3){
$output3 = $url."/pics/vorlagenpics/bildupload/".$name3;
$ausgabe3 = htmlentities(stripslashes($output3));
}else echo "Upload von Datei 3 fehlgeschlagen!<br>";
}else echo "Datei muss gewählt werden<br>";
}
#echo "<form enctype=\"multipart/form-data\" action=\"?do=up\" method=\"post\">";
if(isset($output) || isset($output2) || isset($output3)){
if(!empty($name))
echo "<input type=\"text\" size=\"80\" name=\"file\" value=\"$ausgabe\"> <img src=\"pics/haken.gif\" border=\"0\" alt=\"\"><br>";
if(!empty($name2))
echo "<input type=\"text\" size=\"80\" name=\"file2\" value=\"$ausgabe2\"> <img src=\"pics/haken.gif\" border=\"0\" alt=\"\"><br>";
if(!empty($name3))
echo "<input type=\"text\" size=\"80\" name=\"file3\" value=\"$ausgabe3\"> <img src=\"pics/haken.gif\" border=\"0\" alt=\"\"><br>";
}else{
echo "<input type=\"file\" size=\"80\" name=\"file\"><br>";
echo "<input type=\"file\" size=\"80\" name=\"file2\"><br>";
echo "<input type=\"file\" size=\"80\" name=\"file3\"><br>";
}
echo "<br><input type=\"submit\" name = \"uppen\" value=\"Hochladen\"> <span class=\"rot\"> <— Bild auswählen dann auf hochladen klicken!</span>";
?>
Ich hab schon folgendes versucht :
PHP-Code:
// Tmp_name
$tempname = $_FILES['file']['tmp_name'];
if(strtolower(substr($tempname, -4)) == ".gif" || strtolower(substr($tempname, -4)) == ".jpg")
{
echo "Dateiendung erlaubt...";
} else {
echo "Dateiendung nicht erlaubt...";
}
$tempname2 = $_FILES['file2']['tmp_name'];
if(strtolower(substr($tempname2, -4)) == ".gif" || strtolower(substr($tempname2, -4)) == ".jpg")
{
echo "Dateiendung erlaubt...";
} else {
echo "Dateiendung nicht erlaubt...";
}
$tempname3 = $_FILES['file3']['tmp_name'];
if(strtolower(substr($tempname3, -4)) == ".gif" || strtolower(substr($tempname3, -4)) == ".jpg")
{
echo "Dateiendung erlaubt...";
} else {
echo "Dateiendung nicht erlaubt...";
}
Hm ... Irgendwas schein ich verkehrt gemacht zu haben!
Danke !
Natheedo
Kommentar