2016-08-09 105 views
1

Wenn Sie einen Bot erkennen möchten, der auf einen Knopf klickt, wenn er muss, könnten Sie schauen, wie lange der linke Knopf unten bleibt, bevor er wieder oben ist? Ich meine ein Skript wie dieser (Python):Wie lange sollte die Maustaste gedrückt gehalten werden?

import win32api, win32con 

win32api.SetCursorPos((x,y)) 
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0) 
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0) 

wirklich schnell klicken. Wahrscheinlich schneller als ein Mensch. Und immer bei (sehr genau) der gleichen Geschwindigkeit. Könnte ein Anti-Bot-System das erkennen?

Sie können also einen time.sleep(float) Befehl zwischen den beiden mouse_events hinzufügen. Aber sollte es randomisiert werden? Wir haben wahrscheinlich eine kleine Zeitdifferenz zwischen zwei Klicks, weniger genau als ein berechneter Klick.

Wie lange sollten wir also den Schlaf halten (Minimum und Maximum des Randbereichs)?

Es ist wahrscheinlich zu viel Mühe unentdeckt zu sein, aber ist das möglich?

So schnell rekapitulieren:

  • Können wir einen Bot auf der Klickgeschwindigkeit erkennen und klicken Sie auf Zeit ändert nie sogar ein bisschen?

  • Wie lange drückt eine durchschnittliche Person die Taste, bevor sie losgelassen wird? Wenn ich unentdeckt bleiben möchte, sollte ich diese Zeit zufällig wählen und mit welcher Min und Max?

(ich spreche nicht über andere bestehende Sicherheits wie zu überprüfen, ob Sie das gleiche Pixel über drücken und immer wieder.)

+0

Wenn ein Bot [Autor] bemerkt, dass Sie seine Mausbewegungsgeschwindigkeit überprüfen, gibt es eine sehr einfache Abhilfe dafür: es kann beginnen, den Cursor langsam über den Bildschirm zu bewegen, einschließlich zufälliger Sprünge und unterschiedlicher Geschwindigkeit, Bewegungen eines a nachzuahmen echter Mensch. – deceze

+0

Hier geht es nicht um Mausbewegungen, sondern um die Klickgeschwindigkeit. Aber wie kann der Bot wissen, dass ich die Bewegung überprüfe? –

+0

Es sollte offensichtlich sein, dass das Gleiche gilt. – deceze

Antwort

0

Ja, Bots können und werden auf diese Weise erkannt werden.

Ja, das Hinzufügen eines zufälligen Versatzes zu Klickgeschwindigkeit, Verzögerung, Mauspfad, Bewegungsgeschwindigkeit und vielem mehr ist die Standardlösung, um diese Art der Erkennung zu umgehen. Es gibt jedoch viele andere Möglichkeiten, Bots zu erkennen.

Um eine durchschnittliche Klickgeschwindigkeit zu erhalten, schreiben Sie ein kurzes Programm, das die Zeitstempel für mouseDown- und mouseUp-Ereignisse protokolliert und darauf klickt.