Inviare Foto nello spazio web in modo sicuro

  • Creatore Discussione Creatore Discussione max_400
  • Data di inizio Data di inizio

max_400

Utente Attivo
23 Gen 2009
770
0
16
caltanissetta
max400.forumfree.it
Ciao a tutti

ho questo script

PHP:
<div align=center>

<form action="upload.php" method="post" enctype="multipart/form-data">
   <!-- Campo file di nome "image" -->
   <input name="image" type="file" size="40" />
   <br /><br />
   <!-- Pulsante -->
   <input name="upload" type="submit" value="Carica immagine" />
</form>

<?
//Nella pagina upload.php inseriamo ora il seguente codice:

do {
if (is_uploaded_file($_FILES['image']['tmp_name'])) {
// Controllo che il file non superi i 18 KB
if ($_FILES['image']['size'] > 18432) {
$msg = "

Il file non deve superare i 18 KB!!
";
break;
}
// Ottengo le informazioni sull'immagine
list($width, $height, $type, $attr) = getimagesize($_FILES['image']['tmp_name']);
// Controllo che le dimensioni (in pixel) non superino 160x180
if (($width > 160) || ($height > 200)) {
$msg = "

Dimensioni non corrette!!
";
break;
}
// Controllo che il file sia in uno dei formati GIF, JPG o PNG
if (($type!=1) && ($type!=2) && ($type!=3)) {
$msg = "

Formato non corretto!!
";
break;
}
// Verifico che sul sul server non esista già un file con lo stesso nome
// In alternativa potrei dare io un nome che sia funzione della data e dell'ora
if (file_exists('_altervista_ht/'.$_FILES['image']['name'])) {
$msg = "

File già esistente sul server. Rinominarlo e riprovare.
";
break;
}
// Sposto il file nella cartella da me desiderata
if (!move_uploaded_file($_FILES['image']['tmp_name'], '_altervista_ht/'.$_FILES['image']['name'])) {
$msg = "

Errore nel caricamento dell'immagine!!
";
break;
}
}
} while (false);
echo $msg;
?>
</div>

invia le foto nello spazio web con delle restrizioni
tipo la foto non deve superare i 18 kb
la foto deve essere di dimensioni non maggiori di 160 larghezza e 200 lunghezza
la foto dev'essere di 3 formati .... jpg gif o png

e qui entra il mio problema...
come si fa ad aggiungere il formato bmp?
oppure il formato .ico?

ho provato ad inviare un file php e mi risulta "formato non corretto"
quindi dovrebbe essere sicuro?

la cartella dove vanno a finire le foto si chiama _altervista_ht
ed è sctritta in due punti dello script
dove c'è
file_exists('_altervista_ht/'.$_FILES['image']
['name'])) {

e poi
if (!move_uploaded_file($_FILES['image']['tmp_name'], '_altervista_ht/'.$_FILES['image']['name'])) {

le mie domande....

- è uno script assolutamente sicuro?
- come si inseriscono gli altri formati bmp e ico?
- è possibile visualizzarle mostrando le dimensioni?

grazie
 
aggiornamento... ho trovato lo script per vedere le foto

PHP:
<?
$od=opendir("./_altervista_ht");
if(!$od){echo"Errore apertura cartella album";exit;}
while(gettype($file=readdir($od))!=boolean){
if($file!="." && $file!="..")
echo "<a href=./_altervista_ht/".$file.">".$file."<a><br>";
}
closedir($od);
?>

sono riuscito a mettere i link :mavieni:
ma per sapere le dimensioni? :confused:

inoltre oltre alle foto si possono inviare
anche i filmati swf di Flash? :book:
magari in un altro script

a voi la parola.... Onorevoli! :hammer:
 
Per controllare l'estensione di un file io ho sempre usato questo snippet:
PHP:
$file = 'foo.txt';

$parts = explode('.', $file);
$ext   = end($parts);
E poi, per assicurarti che sia in uno dei formati accettati:
PHP:
$valid = array('txt', 'doc', 'bmp', 'jpg', 'jpeg', 'gif');

if (!in_array(strtolower($ext), $valid)) {
    die('Il formato del file non è valido.');
}
 
Interessante...

Ciao Gighen,

interessante ma come lo impianto nello script...
io purtroppo non sono meccanico e non sò
come impiantarlo...

Mi potresti modificare lo script aggiungendo quell'array
e le dimensioni? :book:

Grazie
 

Allegati

  • gatto_siamese.jpeg
    gatto_siamese.jpeg
    15,5 KB · Visite: 27.052
Ultima modifica:

Discussioni simili