- Status Nouveau
- Percent Complete
- Task Type Évolution
- Category Freebox OS → API
- Assigned To No-one
- Operating System Tous
- Severity High
- Priority Very Low
- Reported Version 4.7.8
- Due in Version Undecided
-
Due Date
Undecided
-
Votes
1
- Bastien13 (26/02/2024)
- Private
Opened by 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
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task
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