Wie füge ich Honig-Topf-Felder, um meine Formulare?
Die ich gelesen habe über das hinzufügen von Honig-Topf-Felder, um meine Form für die Bekämpfung von bots/spam. Problem ist nur ihrigen keine guides oder nichts auf, wo zu beginnen. Viele Websites sagen, um ein Feld ausgeblendet ist, nur die spam-Bots füllen. Aber ich bin neu hier, weiß nicht, wo ich anfangen würde in meiner Anwendung. Könnte mir jemand den Rat, wie Sie diese einrichten? Ich versuche, meine Entwickeln Registrierungsseite verwenden Honig-Topf-Felder.
Nur ein hidden Feld ein und klicken Sie auf Vorlage; ich bin mir nicht sicher, was die Verwirrung ist.
Durch die "versteckte" heißt es nicht sichtbar auf dem Bildschirm, nicht
Verwandte: Besser Honeypot Umsetzung (Form Anti-Spam)
Durch die "versteckte" heißt es nicht sichtbar auf dem Bildschirm, nicht
<input type="hidden">
. Mehr so etwas wie visiblity: hidden;
oder jede andere Art von css-trick, macht den Eingang unsichtbar.Verwandte: Besser Honeypot Umsetzung (Form Anti-Spam)
InformationsquelleAutor LearningRoR | 2012-01-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die grundlegende Idee hinter Honeypots captchas ist, dass Sie einen versteckten (per CSS) - Feld mit dem Namen etwas wie "form" oder "E-Mail" oder "Inhalte", (bot nur das Lesen der Feld-name) sieht aus wie es sollte ausgefüllt werden. Dann, wenn der server sieht in der Einreichung, stellen Sie sicher, dass diese versteckten Felder leer sind. Wenn nicht, dann Kennzeichnen Sie die post als bot.
Hier ist ein Beispiel gut erklärt (mit etwas code in ASP) und hier ist eine Rails-Gem, bietet honeypot-Tests.
Dass Rails Gem ich stehen sieht aus wie es ist sehr einfach zu bedienen, einmal installiert:
Obwohl, wenn Sie daran interessiert sind, über den Ansatz, anstatt nur dass es umgesetzt wird, würde ich empfehlen, Sie Rollen Sie Ihre eigenen. Wenn Sie Ihre eigenen Rollen, ist es wichtig, um sicherzustellen, dass der Bereich ausgeblendet ist, per CSS (oder einen anderen Stil/Positionierung trick) und nicht
input type="hidden"
- da sonst der bot kann nicht füllen Sie das Feld.Als Michael Mior darauf hingewiesen, in den Kommentaren, es ist wichtig, um eine Nachricht weiter, um das versteckte Feld erklärt dem Benutzer, um es leer lassen - sonst ist der Benutzer mit dem Bildschirm-Leser könnte fälschlicherweise füllen Sie es in. Dieses feature fehlt der Edelstein, die ich verlinkt - also wenn Sie eine Webseite erreichbar ist (was Sie fast sicher sein sollte) müssen Sie möglicherweise um es zu ändern, oder Rollen Sie Ihre eigenen.
Beachten Sie, dass dieser trick nicht narrensicher, es gibt nichts zu stoppen ein bot vom Rendern der Seite und bestimmen, welche Felder tatsächlich sichtbar, die der Benutzer vor dem ausfüllen jeder - aber diese Art von bot wäre deutlich komplexer, als eine, die sah nur in der form von html. Ein honeypot captcha ist wahrscheinlich zu sein sehr wirksam gegen einfache bots.
Guter Punkt. Gibt es einen besseren Edelstein soll ich verlinken?
Also wenn ich roll meine eigenen. Kann ich beginnen, indem Sie ein virtuelles Attribut und dann eine Methode, die besagt, dass es sollte leer gelassen werden, und auch die verstecken es aus dem Bildschirm mit absoluter Positionierung -9999?
Werfen Sie einen Blick auf mein edit, ich denke, ich habe dies nur noch eine Frage.
Hast du
include Rails.application.routes.url_helpers
? Wenn Sie immer noch Schwierigkeiten haben, möchten Sie vielleicht zu öffnen, eine andere Frage (da die neue Frage ist anders genug, um das original).InformationsquelleAutor Timothy Jones
dislplay: none;
nicht zeigen, bot in HTML (versuchen Sie es mit Quelltext anzeigen)visibility: hidden; left:-500px; top:-500px;
(wird angezeigt, wenn Sie " Quelltext anzeigen)Benutzte ich display:none Honig-Töpfe für eine Weile, dann schaltet die Sichtbarkeit option, wenn es fiel mir ein, dass das Feld nicht zeigen, in den source-code. Tun Sie es mit einer Klasse oder id in der CSS nicht inline-style. Benachrichtigen Sie die Benutzer, mit den Labels ist eine gute Idee, und der name ist nicht so wichtig, weil die meisten bots in der Regel füllen Sie alle Felder aus.
Definitiv nicht eine catch-all, aber sehr effektiv, wenn verwendet mit einer grundlegenden Mathe-captcha.
InformationsquelleAutor user3653635
Versuchen invisible_captcha (unterstützt Rails 3, 4 und 5).
Es funktioniert sehr gut für kleine und Mittel (in Bezug auf Verkehr) Seiten, mit einer einfachen und flexiblen Ansatz. Es bietet auch Zeitkritische Beiträge.
Grundsätzliche Verwendung
In Ihrer form:
In Ihrem controller:
InformationsquelleAutor markets
InformationsquelleAutor user1967777
und das ist mein honey pot:
Wenn Sie noch paranoid mit diesem, versuchen einige mehr-Ansatz:
Verwenden Sie javascript deaktivieren Sie das Feld, wenn der Benutzer fälschlicherweise füllten den Wert und den Fokus auf das nächste Textfeld.
Sie können auch Fragen Sie den Benutzer, zu tun, eine einfache Mathematik-wie folgt beantwortet: 1+2=?
Ich mag keine Grenze : keine, weil das Feld ist immer noch anklickbar auf der Benutzeroberfläche. Darüber hinaus kann es noch zeigen, da der hintergrund des enthaltenden Elements unterscheidet sich von der Eingabe. Dies blockiert nicht das element angezeigt wird. Zusätzlich </br> ist nicht HTML und tut nichts in XHTML.
InformationsquelleAutor gaixixon