Sind Such-Bot oder Spam-Bots in der Lage, JavaScript-Ereignisse zu emulieren/auszulösen, während sie die Seite auslesen?Sind Such-Bots oder Spam-Bots in der Lage, JavaScript-Ereignisse zu emulieren/auszulösen?
Antwort
Here’s jemand, der behauptet, dass Google Seiten in ein kopfloses WebKit lädt, wenn sie gecrawlt werden, um eine Chance zu bekommen, AJAX-Inhalte zu indexieren und aus anderen Gründen. Such-Bots reichen jedoch im Allgemeinen keine Formulare ein.
Ich habe mir Ihre Website angesehen und der Schutz ist vollständig clientseitig. Da ein HTML-Formular nur eine Beschreibung dessen ist, welche Schlüssel/Werte an eine URL gesendet werden sollen, gibt es keinen Grund, warum jemand diese Daten nicht einfach mit einem Bot POSTIEREN könnte.
Beispiel:
POST /contact
/* ... */
fullname=SO+test&email=test%40example.com&reason=test&message=test
auch, und dies ist wichtig, Sie sind benachteiligen legitime Besucher auf diese Weise. Es gibt viele Gründe, warum JavaScript blockiert, nicht geladen werden kann oder einfach nicht funktioniert.
Ja. Du hast Recht, außer einer Sache. Eine Sache scheint nicht in der Form zu erscheinen, wie sie sein sollte, wenn sie gerade lädt. Dieses Ding erscheint, wenn die Daten im Formular voll sind und wenn die Schaltfläche AntiSpam angeklickt wird. Prüfe dich selbst und inspiziere jedes Eingabeelement im Formular und du wirst sehen, wie ich mich derzeit darum kümmere, Menschen von Bots zu erkennen. :) –
Eigentlich ist das Skript für mich fehlgeschlagen, was ein Grund ist, warum ich die Warnung hinzugefügt habe. Ich habe auf die Anti-Spam-Schaltfläche geklickt und das Formular ausgefüllt, aber die Senden-Schaltfläche wurde nie aktiviert. Fühlen Sie sich frei, etwas menschlichen Scheck hinzuzufügen, aber bitte tun Sie es nicht in JavaScript. –
Längen sind in den Beschreibungen der Felder angegeben ... gültige Mail, Längen, etc ... nur wenn Sie das Skript mit JS-Injektion über Firebug oder etwas überschrieben haben :) –
Nein, weil Such-Bots einen statischen HTML-Stream abrufen. Sie führen keine der Initialisierungsereignisse wie init()
oder myObj.init()
, die in Ihrem JavaScript-Code ist. Sie laden keine externen Bibliotheken wie jQuery und führen weder den Code $(document).ready
noch einen der Standard-Listener .click()
aus. Wenn also ein Such-Bot-Autor keinen bestimmten Grund hat, absichtlich seinen Such-Bot zu erstellen, um <script>
Blöcke auf der Seite auszulösen oder auszuführen, führen sie normalerweise keinen JavaScript-Code aus.
Ich habe einen Such-Bot geschrieben. Alles, was mich interessiert, ist das Extrahieren der Links & Text von der Seite. Ich möchte jedoch nicht die clientseitige Kalenderkomponente oder die Video-Player-Komponente einer anderen Person ausführen. Ich möchte nicht, dass JS-Code in meine Datenbank eingefügt wird, wo er auf der Search Engine Results Page (SERP) enden könnte. Es gibt also keinen Grund, einen eval()
-Befehl für einen beliebigen Code in den <script>
-Blöcken auszuführen und keine der Initialisierungsereignisse in der JS-Schicht auszulösen.
Wenn Such-Bots das HTML-DOM laden, sind normalerweise externe .js-Dateien darin eingebettet. Um JS auszuführen, müsste man also die Strings für mehrere .js-Dateien analysieren und dann einen Konkatenator für diese Dateien erstellen, der dann versucht, alles, was heruntergeladen wurde, auszuführen. Das ist zusätzliche Arbeit für einen Such-Bot-Autor, für keinen Nettogewinn überhaupt. Wir wollen einfach nicht, dass der JS-Code irgendwo in unseren SERPs erscheint. Andernfalls sieht der JS-Code auf dem SERP wie ein schlechtes Suchergebnis aus. Bots können jedoch Inhalt in <script>
Tags sehen & sind nur auf Links zum Crawlen suchen. Das mag der Grund sein, warum Leute denken, dass Bots JavaScript ausführen können, aber sie analysieren sie nur wirklich für ihre Textlinks.
- 1. Nicht in der Lage zu verstehen muate
- 2. jmeter - in der Lage, PDF zu rendern?
- 3. Android - nicht in der Lage zu scrollen
- 4. Dimple Barplot nicht in der Lage, Bars oder Gruppierungen oder Reihenfolge Regeln effektiv zu bearbeiten
- 5. Nachricht erhalten "Wir sind nicht in der Lage, Ihre Informationen zu validieren" während der PayPal-Transaktion
- 6. Nicht in der Lage, mongodb zu laufen
- 7. nicht in der Lage, android.bat zu finden
- 8. nicht in der Lage zu starten qlocalserver
- 9. nicht in der Lage JSON zu dekodieren
- 10. nicht in der Lage zu importieren tweetTokenizer
- 11. Nicht in der Lage, zu finden xpath
- 12. nicht in der Lage zu ändern java.io.tmpdir
- 13. nicht in der Lage zu notieren
- 14. nicht in der Lage zu importieren win32com.client
- 15. Nicht in der Lage, Spalte zu Integer oder Boolean in Postgres zu ändern
- 16. Nicht in der Lage, Daten in der Datenbank zu speichern
- 17. nicht in der Lage
- 18. nicht in der Lage sql clr gespeicherte Prozedur (nicht in der Lage zu überprüfen, Metadaten)
- 19. Nicht in der Lage
- 20. Nicht in der Lage
- 21. Nicht mehr in der Lage, ddescribe oder iit
- 22. Ziel WSGI Skript nicht gefunden oder nicht in der Lage
- 23. Nicht in der Lage, Javascript-Dateien über localhost zu lesen
- 24. Nicht in der Lage, Konflikte zu sehen und zu lösen
- 25. jQuery UI Datumsauswahl - in der Lage zu sein, Tag oder Monat zu holen
- 26. Nicht in der Lage, PMD in Eclipse zu installieren Kepler
- 27. Nicht in der Lage, mongodb in OSX 10.11.4 zu installieren
- 28. Jenkins nicht in der Lage, SVN-Anmeldeinformationen zu verwenden oder neue Plugins/neue Versionen herunterzuladen
- 29. Nicht in der Lage, es Testabdeckung in Sonarqube zu bekommen
- 30. nicht in der Lage zu Selen zu arbeiten mit groovy
Unter welchen Bedingungen? Ein Such-Bot lädt möglicherweise Ihre Seite herunter, um mit Ausdrücken zu sniffen. Wenn es auf Formen trifft, kann es sie mit dat blachen, um zu sehen, was passiert; Wenn es auf Captcha trifft, könnte es OCR und sehen, ob es es austricksen kann. Automator Software kann die Maus bewegen und Klicks auslösen, das war schon immer so. So arbeiten Bots sowohl auf MMORPGs als auch auf Browsern. Was ist Ihr Anwendungsfall - verschärfen Sie Ihre App? – frumbert
Nun können Sie auf meiner Website sehen: www.omerbase.com - die Anti-Spam-Sache. Ich frage mich, ob ein Spam/Such-Bot herausfinden könnte, dass ein DIV anklickbar ist und bedeutet, dass dies Auswirkungen auf die Formularübermittlung hat ... wie Sie traurig sind, kann er das Javascript mit Ausdrücken suchen und ein Beziehungselement innerhalb des HTML finden. Es könnte also ein Klick/Hover/etc Event verursachen ... habe ich das richtig verstanden? –
@ ZlatanOmerović Wenn Ihre Anwendung populär genug wird, ist es nur eine Frage der Zeit, bis jemand auf "View Source" klickt und herausfindet, was der Div beim Klick macht und einen Bot schreibt, der das kontinuierlich macht.Unabhängig davon, ob Such- und Spam-Bots eine Aktion auslösen, können Sie auch annehmen, dass * jemand * einen Bot schreibt, um diese Aktion auszulösen. –