2009-08-18 12 views
2

Diese Frage erweitert meine other question on robots and captcha. Ich habe getan, was alle empfehlen (danke an alle!), Aber ist es überhaupt möglich einen Roboter auf dem Server zu erkennen? Zum Beispiel (Noch einmal, ich werde Stackoverflow als Referenz verwenden): Manchmal, wenn ich eine Frage stelle, kommt Stackoverflow zurück und bittet mich zu überprüfen, ob ich ein Mensch bin. Allerdings manchmal nicht.Roboter auf Server erkennen?

Wie geht es mit Stackoverflow, denn das möchte ich tun: Überprüfen Sie die Daten und wenn es wie ein Roboter aussieht, fordern Sie eine menschliche Verifizierung an.

Auch dies muss auf Java (vorzugsweise), Perl oder PHP getan werden.

Dank

Antwort

0

auf Stackoverflow, ist es durch die Durchführung der gleichen Aufgabe zu oft zu schnell oder die Durchführung mehrerer Aufgaben zu schnell erledigt.

Wenn Sie dies emulieren möchten, können Sie die Anzahl und die Zeit (en) der letzten Anfragen verfolgen und überprüfen, ob alles innerhalb Ihrer Grenzen liegt. Wenn dies nicht der Fall ist, leiten Sie es zu einem CAPTCHA um.

Leider habe ich nicht genug Java EE-Erfahrung, um irgendeinen Code bereitzustellen, aber hoffentlich wird mein Ansatz Ihnen ein paar Ideen geben.

+0

oder indem Sie zu lange im Leerlauf sind. –

0

Die einfache Methode wäre, Aktivität (Klicks, Kommentare, ect.) Zu protokollieren und dann die Häufigkeit und Ähnlichkeit zwischen diesen zu überprüfen. Sie können Roboter normalerweise erkennen, indem Sie nach ähnlichen Aufgaben suchen, die wiederholt ausgeführt werden.

Wenn Sie die Robotererkennung wirklich ernst nehmen, protokollieren Sie jeden Tastendruck und jede Mausbewegung. Normale Benutzer haben einen gewissen Anteil an Fehlern und Unsicherheiten, die mit der Eingabe und Navigation der Site verbunden sind. Ein 100% Tippfehler-Benutzer, der die Seite einfach und schnell navigiert (indem er die Maus auf einer geraden Linie von Punkt a nach Punkt b bewegt), ohne jemals die Zurück-Taste zu drücken, ist sehr wahrscheinlich ein Bot.