Ich frage mich nur, ob jemand weiß, ob ein Spam-Bot in der Lage sein wird, ein Formular zu senden, wenn auf der Seite kein Absenden-Button vorhanden ist. Ich versuche nur eine sehr einfache Spam-Abwehr ohne CAPTCHA durchzuführen. Der Gedanke ist, jQuery zu verwenden, um die Übermittlungsschaltfläche zu rendern, wenn der Benutzer auf irgendeine Weise mit dem Formular interagiert. Irgendwelche Gedanken würden geschätzt werden.
Ein Spambot, das aus einem Code-Wrapper um WebKit oder einen anderen Browserkern besteht, kann nur die Ausführung des DOM "submit ()" erzwingen oder (noch radikaler) einfach eine POST-Transaktion starten.
>Es ist am besten, sich einen Spambot als einen massiv mächtigen, bösen Roboter vorzustellen, dessen Browser keine Regeln befolgt, die von Atomenergiestrahlen an sein Robotergehirn angehängt werden. Aber es ist ein Roboter, der nicht gut lesen kann.
Ein Bot wird definitiv in der Lage sein, Ihren Post-Button zu finden, wenn auch nur selten.
Eine sehr beliebte Art Methode, wie Sie versuchen, ist ein Honeypot-Formularelement zu erstellen. Die bearbeitbaren Honeypot-Felder auf dem Formular sind für Personen unsichtbar (Sie können jQuery / CSS verwenden, um diese Formularelemente auszublenden). Sie werden validiert, wenn die Formulardaten gepostet werden und wenn sie irgendwelche Eingaben enthalten, dann muss der Übergeber ein Bot irgendeiner Art sein.
Die Verwendung verdeckter Feldnamen und die Validierung können diese Bots ebenfalls stoppen. Wenn das E-Mail-Feld ein @ -Zeichen haben muss und der Bot nicht wissen kann, welches Feld eine E-Mail ist und welche nicht, werden die Chancen, dass es einen erfolgreichen Beitrag geben wird, stark reduziert.
Ja, sie können. Die Schaltfläche wird nicht vollständig benötigt:
%Vor%Aber der Bot könnte unangenehm sein und eine eigene POST-Anfrage an Ihren Server senden, da es nicht so schwierig ist.
Wenn Sie jedoch mit jQuery ein <input type="hidden" />
mit einem secret-ish-Wert (bekannt vom Server und dynamisch für jede Sitzung abgerufen) erstellen und nur akzeptierte Submits akzeptieren, wenn dieser Wert vorhanden wäre, würden Sie alle nicht-JS-fähigen Dateien stoppen Bots.
Der Nachteil ist, dass Sie verhindern würden, dass nicht von JS aktivierte Benutzer Ihre Webseite verwenden. Aber das ist der ständige Kampf, den Sie kämpfen müssen, um die Spammer zu töten ...
Nachdem ich nie einen Spam-Bot programmiert habe, kann ich nur Vermutungen anstellen. Aber ich würde annehmen, dass das Vorhandensein eines Submit-Buttons nicht viel ausmachen würde. Wahrscheinlicher ist es, das <form>
-Tag zu betrachten und basierend darauf zu bestimmen, wo eine POST / GET-Anfrage gemacht werden sollte. Eine bessere Wette (aber keinesfalls narrensicher) wäre, kein <form>
zu verwenden, sondern manuell eine $ .post zu machen (da Sie jQuery erwähnt haben), wenn auf eine Schaltfläche oder einen Link Ihrer Wahl geklickt wird. Daten von Elementen im laufenden Betrieb.
Es ist nicht erforderlich, die Schaltfläche zum Senden so oft zu rendern, dass die Daten von einem Remote-Server gesendet und nicht von der Seite selbst ausgefüllt werden. CAPTCHA ist schrecklich, manchmal ist es so unklar, dass ich nicht verstehe, was es sagt. Ich benutze drei Methoden gleichzeitig, um Bots zu stoppen.
Ich habe auch die Versuche mit den IP-Adressen zu einer Datenbanktabelle aufgezeichnet. Die Versuche haben einen, zwei oder alle Tests nicht bestanden.
Aber Sweatshop-Spammer zu stoppen ist eine ganz andere Geschichte. Sweatshop-Spammer sind Leute, die billig für den manuellen Versand von Spam eingesetzt werden. Wenn Sie eine größere Website haben, kann es sich lohnen, einen Dienst zu verwenden, der sich mit dieser Art von Spam befasst. Einige Dienste befassen sich auch mit beleidigender Sprache.
Tags und Links jquery