Exemple de zip-bomb. (Votre serveur envoie 10 Mo, côté client ça se décompresse en 10 Go ). La plupart des bots qui scannent les sites web supportent la compression gzip et chargeront bien volontier ce fichier.
Et comme ils sont mal développés, ils vont planter.
(En principe, que vous développez un client http, il faut coder la quantité de données maximales de données que vous allez lire d'une requête http. Par exemple, il n'est généralement pas utile de charger plus de 20 Mo pour une image. Par défaut, ce n'est pas limité.)
(via
https://shaarli.zoemp.be/shaare/mx1lcg)
Une autre manière de répondre aux bots, c'est d'envoyer les données, mais *très* lentement. Ça ne consomme que peu de ressources côté serveur, mais côté client il va attendre les données.
Si vous développez un client http, il devrait toujours avoir:
- une limite sur la quantité de données lues.
- un timeout (pour éviter d'attendre indéfiniement une connexion ou des données).