Upload de fichier par HTTP
Bonjour et merci d'avance pour les éclaircissement que vous voudrez bien m'apporter.
Je vous expose mon pb : J'ai un cgi qui réceptionne un POST d'un formulaire comprenant un input de type file (upload de fichier).
Je n'arrive pas à interrompre l'envoi d'un fichier de taille volumineuse :
- soit je bloque la requête au niveau de mon cgi
- soit je bloque au niveau de mon serveur web (LimitRequestBody sous apache)
Dans les deux cas, si la personne qui répond à mon formulaire essaye d'uploader un fichier de 2Go soit il va recevoir une erreur de type timeOut soit une erreur 413 requête trop grande et dans les deux cas cela sera après un temps d'attente qui peut être très long (le temps que le navigateur upload le fichier de 2Go?...).
D'où ma question : est-il possible d'interrompre la requête depuis le serveur avant que le client ait commencé à uploader le fichier?
J'ai fait des captures de communication réseau entre mon client et mon serveur et je ne vois passé ma requête POST HTTP depuis le client vers le serveur qu'une fois que le fichier joint a été transférer au serveur par une succession de trames TCP. -> le serveur web doit donc recevoir ces premières trames et les garder en cache le temps que la requête soit complète. Cela me semble étonnant car il semble alors que le DDOS est à portée de main. par exemple si j'essaye de mettre en avatar de mon profil sur développez.com un fichier de 2Go, mon navigateur mouline et je suppose que si on est une dizaine de personne qui essayent de faire ça en même temps le serveur risque rapidement de ne plus répondre à personne...