Est-ce que côté serveur, dans le script appelé par Ajax, tu ne peux pas mettre une protection/vérification ? Par exemple, il faut bien vérifier avant chaque achat que la somme restante est suffisante, pas se fier à une information "vieille" de quelques secondes.
Si ça ne suffit pas, tu sauvegarde une timer ou un timestamp en session : à chaque fois qu'une action est réalisée et tu le mets à T + 0.5 sec.
Tant que ce timer n'est pas passé ça rejette l'action, ça limite à deux actions par secondes. ( soit pour toutes les actions, soit pour une action particulière genre achat ).
Ensuite à toi de régler la durée de ce timer..
En logiciel bas niveau, on met souvent des timer très court "anti-rebond" sur des ports d'interruptions, ça évite qu'un signal d'interruption qui varient rapidement et déclenchent dix fois l'appel à la routine d'interruption qu lieu d'une seule fois.
Si ça ne suffit pas, tu sauvegarde une timer ou un timestamp en session : à chaque fois qu'une action est réalisée et tu le mets à T + 0.5 sec.
Tant que ce timer n'est pas passé ça rejette l'action, ça limite à deux actions par secondes. ( soit pour toutes les actions, soit pour une action particulière genre achat ).
Ensuite à toi de régler la durée de ce timer..
Code :
// en (très très) pseudo code :)
global $TimerLimit;
if (time < $TimerLimit)
{
return error;
}
else
{
$TimerLimit = time() + 0.5;
DoAction();
return success;
}
En logiciel bas niveau, on met souvent des timer très court "anti-rebond" sur des ports d'interruptions, ça évite qu'un signal d'interruption qui varient rapidement et déclenchent dix fois l'appel à la routine d'interruption qu lieu d'une seule fois.