swallav
Terugkerende gebruiker
- Lid geworden
- 19 jul 2007
- Berichten
- 1.482
Ik gebruik dit ftp script voor mensen die dingen kunnen uploaden naar mijn pagina. Het probleem is alleen dat je nu de files zo groot als je wil kan uploaden. Dit wil ik niet. Ik wil er zorgen dat mensen niet meer dan 2 mb kunnen uploaden. Daarnaast wil ik ook dat je niet meer beperkt bent tot alleen foto's en de overige extensies die in het script staan. Elke file moet mogelijk zijn. Nu is mijn vraag. Hoe doe ik dit. Hier is mijn script
Bij behorende html maar ik denk niet dat deze nodig is
Daarnaast heb ik nog een vraag. Hoe veilig is deze methode? Hoe makkelijk is het password van de ftp op te vragen en hoe kan ik dit (indien nodig) veiliger maken. Alvast bedankt voor de moeite.
Code:
<?php
$ftp_server = 'CENSUUR'';
$ftp_port = 21;
$ftp_user = 'CENSUUR';
$ftp_pass = 'CENSUUR';
$uploaddir = '/New directory/New directory/'; # relative to FTP login/root dir
$allowed = array('jpg','jpeg','gif','pdf'); # lower case
$max_size = 1024 * 1024;
# No edits beyond this line
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
header('Location: /index.html/');
exit;
}
$passive = isset($_POST['passive']) ? true : false;
if (isset($_FILES['userfile'])) {
$connection = @ftp_connect($ftp_server,$ftp_port) or die('Connectie gefaald!');
if (@ftp_login($connection,$ftp_user,$ftp_pass)) {
ftp_pasv($connection,$passive);
foreach ($_FILES['userfile']['error'] as $i => $error) {
if ($error == 0 && $_FILES['userfile']['size'][$i] <= $max_size) {
$file_ext = pathinfo($_FILES['userfile']['name'][$i],PATHINFO_EXTENSION);
$file_name = basename($_FILES['userfile']['name'][$i],'.'.$file_ext);
if (in_array(strtolower($file_ext),$allowed)) {
$new_base = $_FILES['userfile']['name'][$i];
$t = 1;
$list = ftp_nlist($connection,$uploaddir);
while (in_array($new_base,$list)) {
$new_base = $file_name.'['.$t.'].'.$file_ext;
$t++;
}
if (ftp_put($connection,$uploaddir.$new_base,$_FILES['userfile']['tmp_name'][$i],FTP_BINARY)) {
echo 'Succesvolle upload van '.$_FILES['userfile']['name'][$i].'<br>'."\n";
header("Refresh: 0.1; URL=/~i8912/login/een/ftpserver/desk.html);
}
}
}
}
}
else {
echo 'Er is een fout opgetreden. Neem contact op met swallav@gmail.com';
}
ftp_close($connection);
}
?>
Bij behorende html maar ik denk niet dat deze nodig is
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>
File Uploader
</title>
</head>
<body background="/~i8912/foto/DSOTM.jpg">
<form action="ftp_upload.php" method="post" enctype="multipart/form-data">
<pre>
<font size="18" color="red" face="times new roman">
De maximale grote van een bestand is 2048 kb!
</font>
<input type="file" name="userfile[]"></br>
<input type="submit" value="Upload">
</pre>
</form>
</body>
</html>
Daarnaast heb ik nog een vraag. Hoe veilig is deze methode? Hoe makkelijk is het password van de ftp op te vragen en hoe kan ik dit (indien nodig) veiliger maken. Alvast bedankt voor de moeite.