05-02-2008, 12:14 AM
voila la solution:
Avec en prime un terrible effet boule de neige. Plus il y a de joueur qui tente cette attaque (qui ne réussi que très rarement à la base), et plus le serveur s'en prend dans la gueule, et plus le serveur est ralentie a force de s'en prendre dans la gueule, plus le bug se produit ....
J'ai pensé que vous aimeriez connaitre cette vacherie a l'avance ^^
En guise de solution, je pense opter pour interdire de charger une même page à moins de 1 ou 2 secondes d'intervalle en utilisant les sessions.
Si vous avez d'autres idées pour la solution, je suis preneur car je n'en est pas encore mis en place sur mon site ^^ (Pour l'instant, la possibilité d'annuler une attaque est désactivé).
Citation :Bon ça m'avait paru absurde sur le coup mais ton dernier message m'impose 16 de tenter le coup :Il s'agit donc d'une "spam attaque", bien que j'appellerais bien ca "flood attaque" ^^
Je parie sur une erreur de synchronisation.
Le joueur prépare sa page avec le lien en 2 exemplaire, (enfin il mets les liens...) ou alors il spamme refresh.
Il peut alors arriver que ton script entre dans l'annulation, valide le premier appel, Rajoute l'armée, puis tente de détruire l'attaque. Mais pendant ce temps, un second script est lancé pour faire la même manoeuvre et arrive aussi à cette phase. Le temps pour appeller le serveur et faire le DELETE pourrait bien être suffisamment long, pour que l'armée soit Rajoutée une seconde fois, avant que ce script ne puisse plus être parcouru à cause de la suppression en base.
résultat : attaque annulée, 2 armées pour le prix d'une.
J'ai bon ? 16
Avec en prime un terrible effet boule de neige. Plus il y a de joueur qui tente cette attaque (qui ne réussi que très rarement à la base), et plus le serveur s'en prend dans la gueule, et plus le serveur est ralentie a force de s'en prendre dans la gueule, plus le bug se produit ....
J'ai pensé que vous aimeriez connaitre cette vacherie a l'avance ^^
En guise de solution, je pense opter pour interdire de charger une même page à moins de 1 ou 2 secondes d'intervalle en utilisant les sessions.
Si vous avez d'autres idées pour la solution, je suis preneur car je n'en est pas encore mis en place sur mon site ^^ (Pour l'instant, la possibilité d'annuler une attaque est désactivé).
"L’avenir ne peut être prédit mais les avenirs peuvent être inventés"
Denis Gabor.
Denis Gabor.