Anti - autoclicker

Fermé
totoyo47 Messages postés 260 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 30 mars 2020 - 17 janv. 2016 à 18:43
jiantox Messages postés 1081 Date d'inscription mardi 30 septembre 2008 Statut Membre Dernière intervention 26 janvier 2019 - 18 janv. 2016 à 18:05
Bonjour,

J'ai développé un petit jeu en ligne qui consiste à cliquer sur un bouton quand il est "enabled". Chaque clic validé rapporte un point.
Cependant, comme dans tout jeu en ligne, je dois faire face à des bots autoclicker. J'ai déjà mis en place quelques systèmes de vérification, mais c'est insuffisants.
Connaissez-vous des astuces simples et économes en ressources ? Sans captcha, s'il vous plait.
Je connais le javascript et le PHP.

Merci de vos réponses,
A voir également:

1 réponse

jiantox Messages postés 1081 Date d'inscription mardi 30 septembre 2008 Statut Membre Dernière intervention 26 janvier 2019 114
18 janv. 2016 à 15:57
Bonjour,

peut être peux-tu "activer" ton script uniquement quand tu as un "OnMouseOver", ça forcera logiquement à ce qu'il y ai le curseur qui se déplace.
Ca évitera au moins les autoclickers via Imacro ou autre.

à tester
0
totoyo47 Messages postés 260 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 30 mars 2020 133
18 janv. 2016 à 16:59
Bonjour et merci de ta réponse,

Pas trop convaincu, car la plupart des bots, dont le mien (à des fins de test), fonctionne grâce à un script javascript ajouté via la console ou Greasemonkey.
Un exemple de code du bot :
setInterval(function() { var obj = $('*[type="submit"]'); if(obj.is(':enabled')) { obj.click(); }}, 100);
0
jiantox Messages postés 1081 Date d'inscription mardi 30 septembre 2008 Statut Membre Dernière intervention 26 janvier 2019 114
18 janv. 2016 à 17:15
Oui si je comprend bien ton bot clique sur le bouton submit si il est enabled, donc si ton bouton passe enabled que si y'a un mouseover, il faudra forcément passer un curseur dessus, ce que ton bot ne saura pas faire.
0
totoyo47 Messages postés 260 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 30 mars 2020 133
18 janv. 2016 à 18:00
Ton idée est bonne. Cependant, je me vois mal imposer aux joueurs à rester river sur la page dans l'attente que le bouton soit de nouveau actif. En effet, beaucoup jouent, y compris moi-même, en faisant d'autres choses. De plus, le bouton pour être "disabled" pendant plusieurs heures, cela dépend du nombre de joueurs actifs. Nous lâchons donc nos clics entre deux activités.

Toutes les 2 secondes, un script vérifie si on peut appuyer de nouveau sur le bouton. Si c'est le cas, le bouton devient "enabled". Le titre de la page change également quand cette action est possible pour avertir le joueur.

D'ailleurs, en te répondant, une réflexion me vient à l'esprit.
Si le clic est légitime, le curseur doit être positionner sur le bouton. Donc, avant d'envoyer ma requête en ajax (la page ne se rafraichit pas), je vérifie si le curseur est bien sur le bouton. C'est possible en javascript ?
0
jiantox Messages postés 1081 Date d'inscription mardi 30 septembre 2008 Statut Membre Dernière intervention 26 janvier 2019 114
18 janv. 2016 à 18:05
Oui c'est ce dont je te parle depuis tout à l'heure :)

Sur ton bouton tu met un onmouseover(tonscript). La fonction OnMouseOver permet de savoir lorsque le curseur de la souris passe sur un élément. Et tu as le OnMouseOut qui fait l'inverse (lorsque la souris quitte l'élément).
0