hey allemaal,

ik heb dit code:

<?php

//Windows way
$uploadLocation = "bestand";
//Unix, Linux way
//$uploadLocation = "bestand";

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html>
<head>
   <title>MicroPing domain status checker</title>
   <link href="style/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <div id="main">
      <div id="caption">UPLOAD FILE</div>
      <div id="icon">&nbsp;</div>
      <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="fileForm" id="fileForm" enctype="multipart/form-data">
        File to upload:<center>
        <table>
          <tr><td><input name="upfile" type="file" size="36"></td></tr>
          <tr><td align="center"><br/><input class="text" type="submit" name="submitBtn" value="Upload"></td></tr>
        </table></center>  
      </form>
<?php    
    if (isset($_POST['submitBtn'])){

?>
      <div id="caption">RESULT</div>
      <div id="icon2">&nbsp;</div>
      <div id="result">
        <table width="100%">
<?php

$target_path = $uploadLocation . basename( $_FILES['upfile']['name']);

if(move_uploaded_file($_FILES['upfile']['tmp_name'], $target_path)) {
    echo "The file: ".  basename( $_FILES['upfile']['name']).
    " has been uploaded!";
} else{
    echo "There was an error uploading the file, please try again!";
}

?>
        </table>
     </div>
<?php            
    }
?>
    <div>
</body>   

maar nu is er een probleem.....
je kan er ook exe files mee uploaden en dat is niet de bedoeling want die kan ik niet verwijderen op mijn host.
hoe kan ik er een soort if .exe in upfile then error of zoiets inzetten?

groetjes bram
$_FILES['naam_veld']['type'] controleren op mime
en hoe en waar moet ik dat dan invoegen in het code
zodat als het bijv .exe is dat het dan een error geeft
Nou Wes, dan moet er nog wel een extra controle op hoor...

Bv dan open ik een image in notepad, plak er...
<script>alert('oeps');</script>

...onder. Sla het op als image.html en kan 'm alsnog uploaden. Mimetype zegt nog steeds image...
niets daarvan

edit:


upload elmo.jpg (echte jpg)

$source_name = elmo.jpg
$source_tmp_name = /tmp/phpCDbIe1
$source_type = image/pjpeg
$source_size = 1495
$source_error = 0 


upload testtest.jpg (notepad saved as .jpg)

$source_name = testtest.jpg
$source_tmp_name = /tmp/phpVQycQi
$source_type = text/plain
$source_size = 13
$source_error = 0 
ik snap er nu niks meer van :P
Nu we het toch over dit onderwerp hebben, kan men hun kennis hier eens op loslaten? De uploads komen hier terecht.
Meen daar eens een stuk over te hebben gelezen, maar goed geloof je zo hoor ;-) (mime content type hacking ofzoiets)

In ieder geval blijft mijn punt wel staan, aangezien het nu mogelijk ois m werkelijk waar alles te uploaden, iets wat je toch niet zo graag zou willen op je webserver...
arjan zou je me het code kunnen geven want dat ziet er wel goed uit en ik denk dat ik daar wel iets meer kan
Doe dat wel even netjes in een apart topic ;-)
Waarom in een apart topic? Als mijn oplossing veilig blijkt te zijn dan kan ik die kennis met blackbram delen toch?

Reageren