PHP gevorderde |
|
<?php if($_FILES['bestand']['type'] == "php" || $_FILES['bestand']['type'] == "htm" || $_FILES['bestand']['type'] == "html") { ?>
<?php if($_FILES['bestand']['type'] == "php" || $_FILES['bestand']['type'] == "htm" || $_FILES['bestand']['type'] == "html") { ?>
in dit stukje zit nog een kleine fout, als je gaat controlerenm op mime-type moet je niet alleen php | html | html opgeven maar: application/x-php voor php en en text/html voor htm | html. Als ik jou waz zou ik ook nog even op extentie controleren voor de zekerheid, en als je ook php bestanden toelaat controleer deze dan ook op 'gevaarlijke' inhoud.
# juiste gebruik van mime-type controle:
<?php $types = array('text/html', 'application/x-php');
if(isset($_FILES['bestand'])) {
if($_FILES['bestand']['size'] > 25000) {
echo "Het bestand mag mag maar <b>20 kb</b> zijn!";
}
else {
if (in_array($_FILES['bestand']['type'], $types)) {
move_uploaded_file($_FILES['bestand']['tmp_name'], './tutorial_' . $id .);
chmod("tutorial/" . $naam, 0777);
$tut = "tutorial/tutorial_$id";
mysql_query("UPDATE tutorial SET url='$tut' WHERE id='$gebruikersid'") or die(mysql_error());
}
else { echo "Het bestand is geen html of php bestand!"; }
}
}
?>
# juiste gebruik van mime-type controle: <?php $types = array('text/html', 'application/x-php'); if(isset($_FILES['bestand'])) { if($_FILES['bestand']['size'] > 25000) { echo "Het bestand mag mag maar <b>20 kb</b> zijn!"; } else { if (in_array($_FILES['bestand']['type'], $types)) { chmod("tutorial/" . $naam, 0777); $tut = "tutorial/tutorial_$id"; } else { echo "Het bestand is geen html of php bestand!"; } } } ?>
|