Salut
Le fichier quelque soit sa taille (dans la limite du php.ini) est toujours uploadé sur le serveur (fichier temporaire). Logique.
Malheureusement si un utilisateur upload un fichier de plusieurs Mo, ca peut vite patiner, voir même planter le script.
Même avec ceci :
Et ceci :
N'y a t-il pas des risques de déni de service? (surtout si on tombe sur un utilisateur malintentionné qui ferait plusieurs upload simultanés)
N'y a t-il aucun moyen directement côté client d’empêcher l'upload si la taille du fichier dépasse celle autorisée? Ceci afin d'éviter un upload inutile.
Si je comprend bien lorsqu'on envoi notre formulaire POST, le fichier est d'abord Uploadé avant que l'on puisse faire le moindre contrôle.
je pensais que MAX_FILE_SIZE évitait ça mais en fait non, le fichier est quand même envoyé sur le serveur.
Il me semble qu'avec le javascript c’est également impossible non? Pour des raisons de sécurité on ne peut pas traiter les fichiers côté client, exact?
Y aurait-il une solution pour éviter éventuellement des plantages du serveur, ou éviter que l'utilisateur attende des plombes pour rien?
J'avais pensé utiliser ceci :
ini_set('upload_max_filesize', '200000');
ini_set('post_max_size', '200000');
Malheureusement c’est impossible à cause de ceci : PHP_INI_PERDIR
Après j'ai pensé au .htaccess, malheureusement on dirait bien qu'avec les nouvelles offres d'OVH et le fichier .ovhconfig, on ne peut plus utiliser setEnv dans le .htaccess (du moins ca ne sert à rien)
Le fichier quelque soit sa taille (dans la limite du php.ini) est toujours uploadé sur le serveur (fichier temporaire). Logique.
Malheureusement si un utilisateur upload un fichier de plusieurs Mo, ca peut vite patiner, voir même planter le script.
Même avec ceci :
Code:
<input type="hidden" name="MAX_FILE_SIZE" value="200000">
Et ceci :
Code:
if(filesize($file['tmp_name']) > $this->maxSize)
N'y a t-il pas des risques de déni de service? (surtout si on tombe sur un utilisateur malintentionné qui ferait plusieurs upload simultanés)
N'y a t-il aucun moyen directement côté client d’empêcher l'upload si la taille du fichier dépasse celle autorisée? Ceci afin d'éviter un upload inutile.
Si je comprend bien lorsqu'on envoi notre formulaire POST, le fichier est d'abord Uploadé avant que l'on puisse faire le moindre contrôle.
je pensais que MAX_FILE_SIZE évitait ça mais en fait non, le fichier est quand même envoyé sur le serveur.
Il me semble qu'avec le javascript c’est également impossible non? Pour des raisons de sécurité on ne peut pas traiter les fichiers côté client, exact?
Y aurait-il une solution pour éviter éventuellement des plantages du serveur, ou éviter que l'utilisateur attende des plombes pour rien?
J'avais pensé utiliser ceci :
ini_set('upload_max_filesize', '200000');
ini_set('post_max_size', '200000');
Malheureusement c’est impossible à cause de ceci : PHP_INI_PERDIR
Après j'ai pensé au .htaccess, malheureusement on dirait bien qu'avec les nouvelles offres d'OVH et le fichier .ovhconfig, on ne peut plus utiliser setEnv dans le .htaccess (du moins ca ne sert à rien)