Salut tout le monde, je gère un site web d'hébergement d'images et je suis en train de concevoir une API pour celui-ci. Mon souci est que je ne veux pas que quelqu'un puisse faire quelque chose comme :
while(true) {
Upload();
}
et spammer/faire du DoS sur le site.
Ma solution actuelle consiste à limiter toutes les adresses IP à un certain nombre d'uploads par jour/heure. Je pense que cela fonctionnera bien pour les applications de bureau qui utiliseront l'API, mais pour les sites web qui souhaitent l'utiliser, tous les utilisateurs auront la même IP (celle du serveur).
Je suppose que la meilleure solution serait d'avoir des comptes utilisateurs qui s'authentifient avec l'API, puis de bannir chaque compte s'ils en abusent. Le problème, c'est que mon site n'a aucun compte utilisateur du tout, c'est entièrement anonyme.
Que puis-je faire d'autre ? Je voudrais garder les choses aussi ouvertes que possible, tout en ayant la possibilité de bannir les utilisateurs/IPs qui abusent clairement du service.