[PHP] Säkerhetsluckor i denna kod?
Hej!
Jag är nybörjare när det gäller att skriva egna lösningar i PHP, modifiera andra och kunna språket har jag inga som helst problem med.
Nu är det så att jag inte ORKAR öppna porten för filtransfers i MSN, så jag knepade ihop ett litet script där folk kan ladda upp filer till mig via webservern.
Då jag är nybörjare så är jag lite rädd för säkerhetsluckor, så om ni ser några direkt så säg till
Anyhow, här är koden:
Index.php
<?PHP
// Det som står ovanför uppladdningsfönstret
$tackmeddelande = "Ladda upp en fil till Viktor här:";
//
// Är filen uppladdad?
//
if(isset($_GET['tack']))
{
$tackmeddelande = "Vill du ladda upp en till fil så kör på:";
?>
<head>
<script type="text/javascript" language="Javascript">
alert("Tack så mycket, Nu är filen skickad till mig");
</script>
</head>
<?PHP
}
//
// Vill användaren ladda upp en fil?
//
if(isset($_GET['upload']))
{
// Lite config bara
//
$mapp = "uppladdat";
$filnamn = $_FILES['fil']['name'];
$forbjudna = array('.php','.php4','php3','.tpl','.inc');
// Kolla så det inte är en förbjuden filtyp
$filnamn = str_replace($forbjudna, ".txt", $filnamn);
$destination = $mapp."/".$filnamn;
// Nu är filen uppladdad
move_uploaded_file($_FILES['fil']['tmp_name'], $destination);
header('Location: ?tack');
}
else
{
?>
<form action='<? echo $_PHP['SELF'];?>?upload' method='post' enctype='multipart/form-data' />
<b><?PHP echo $tackmeddelande;?></b><br />
<input type='file' name='fil' /><br />
<input type='submit' value='Skicka fil' />
</form>
<?PHP
}
?>