Buongiorno a tutti,
attraverso un utilissimo tool che mi fu suggerito tempo fa [Link: http://gskinner.com/RegExr/ -- Scusate ma non ricordo chi e quando
] , sto facendo un test.
La pagina analizza il tutto con la funzione preg_match() .
Il controllo che sto facendo riguarda l'estensione di un file che verrà allegato per poi, in caso positivo, essere inviato.
Verranno accettati SOLO file con $_FILES['file']['name'] del tipo: ilMIOfile123.jpg (oppure .png, oppure .jpeg)
Ecco il codice:
Codice PHP:
$file_da_uploadare = $_FILES['file']['name'];
if (!preg_match("/^[a-zA-Z0-9]+(.jpg|.png|.jpeg)$/i", $file_da_uploadare)) {
echo ("File corretto!");
} else {
echo ("File non valido, il file deve avere un nome come: file.jpg , file.png, file.jpeg");
}
Con questa espressione regolare vengono accettati tutti i file del tipo file.jpg oppure MIOfile.jpg oppure MIOfile123.jpg.
Se il file avesse un nome tipo file.php.jpg non verrebbe accettato.
Resta beninteso che, come mi era stato suggerito (suggerimento di grandissimo aiuto), NON VERRANNO ACCETTATE lettere accentate, trattini [ - ], underscore [ _ ], ecc.
Insomma: solo lettere semplici.
(Chiaramente in questi casi l'utente verrà avvisato di rinominare il file con sole lettere semplici)
Cosa ne pensate? Può essere sufficiente per evitare invii di file pericolosi?
Attendo un vostro importante parere