- État Nouveau
- Pourcentage achevé
- Type Évolution
- Catégorie Freebox OS → API
- Assignée à Personne
- Système d'exploitation Tous
- Sévérité Haute
- Priorité Très Basse
- Basée sur la version 4.7.8
- Due pour la version Non décidée
-
Échéance
Non décidée
-
Votes
1
- Bastien13 (26/02/2024)
- Privée
Ouverte par Bastien13 - 26/02/2024
FS#39081 - Indication du temps d'attente lors d'un "Too Many Requests"
Bonjour,
Je rencontre un problème lors de l’utilisation de l’API. Actuellement, lorsque j’effectue un nombre excessif de requêtes, je reçois en retour le message “Too Many Requests”.
Vu que le blacklistage des machines qui effectuent trop de requêtes est exponentiel (plus on insiste, plus la limitation est longue ; https://https://dev.freebox.fr/bugs/task/19160#comment79018), serait-il possible d’ajouter une indication du temps d’attente nécessaire avant de pouvoir effectuer de nouvelles requêtes ?
Actuellement, nous sommes contraints de réessayer à plusieurs reprises sans savoir exactement dans combien de temps nous pourrons effectuer de nouvelles requêtes. Cela a pour conséquence d’augmenter le temps d’attente si nous essayons de nouveau avant la fin de la période de blocage, ce qui a pour conséquence d’aggraver la situation.
Dans la demande “ FS#19160 “, il était indiqué que “Pour réinitialiser cette limitation il suffit de redémarrer le Server”. Cependant, après avoir essayé cette solution, le problème persiste toujours. Donc l’ajout de cette évolution aiderait grandement.
Je vous remercie par avance pour votre considération de cette demande d’amélioration.
Cordialement
Chargement...
Activer les raccourcis clavier
- Alt + ⇧ Shift + l Se connecter/Se déconnecter
- Alt + ⇧ Shift + a Ouvrir une tâche
- Alt + ⇧ Shift + m Mes recherches
- Alt + ⇧ Shift + t Rechercher par ID de tâche
Liste des tâches
- o Ouvrir la tâche sélectionnée
- j Déplacer le curseur vers le bas
- k Déplacer le curseur vers le haut
Détails de la tâche
- n Tâche suivante
- p Tâche précédente
- Alt + ⇧ Shift + e ↵ Enter Modifier cette tâche
- Alt + ⇧ Shift + w Surveiller
- Alt + ⇧ Shift + y Fermer cette tâche
Édition de la tâche
- Alt + ⇧ Shift + s Enregistrer la tâche
Le but du blacklist est d'empêcher un pirate d'essayer de prendre la main sur ta box.
Si tu indiquais le temps de blacklist, ça permettrait très simplement d'automatiser la mise en place d'un programme de brute force pour accéder à ta box !
Si après redémarrage, tu as toujours un blocage, ouvre plutôt un nouveau ticket, en expliquant exactement ce que tu fais, et ce qui se passe : s'il y a un bug, il sera plus simple à gérer
Bonjour
J'ai également remarqué que lorsque l'on flood la box avec un peu trop de requêtes API envoyés par curl un peu trop rapidement (temps inférieur à 0.2s entre chaque requêtes), et avant d'atteindre cette limite dont vous parlez, il arrive que la box renvoi une trame VOID provoquant une erreur lors de l'analyse du json qui est égale à "" et dont le parsing échoue en retournant 1 ou error_code mais pas 0 donc échec de la fonction ou de la boucle
Celà arrive notamment lorsque l'on fait des check de validité du SESSION_TOKEN pendant le monitoring d'une tâche longue.
Exemple:
dans le code suivant, si je passe la valeur de sleep à moins de 0.4444 (historiquement 0.1 pour la fluidité du spinner), au bout de 10 minutes (même pas la durée d'expiration du token), la boucle crash sur le call fait par la fonction 'relogin_freebox' qui elle même fait un check du status du token et un nouveau login si le token est expiré
Il serait bien d'avoir les timers de l'API (rate, limite de requêtes, etc…)
Merci
Cordialement
nbanba