Du bist nicht eingeloggt! Möglicherweise kannst du deswegen nicht alles sehen.
  (Noch kein mods.de-Account? / Passwort vergessen?)
Zur Übersichtsseite
Hallo anonymer User.
Bitte logge dich ein
oder registriere dich!
 Moderiert von: Che Guevara


 Thema: Antispam Überlegungen ( in der Kommentarfunktion eines Scripts )
erste ungelesene Seite | letzter Beitrag 
sh3ll85

Arctic
in der Kommentarfunktion eines Scripts
Hi Zusammen!

Ich kämpfe seit Monaten mit Spambots, die die Komments meines Newsscripts mit Zahlen- und Buchstabensalat vollmüllen traurig Nachdem ich kurzzeitig damit Erfolg hatte, einige Ausdrücke zu verbieten, hilft diese Strategie nun nicht mehr weiter: Täglich kommen neue Beiträge hinzu, die nur noch aus "ud77djdsid7dzhd8zjd" u.ä. bestehen...

Daher folgende Überlegung von mir: Ich möchte das Eingabefeld für die EMail-Adresse des Kommentators verstecken und ihr einen vorgegebenen Inhalt abc zuteilen. Ein "menschlicher" Kommentator könnte hier also keine Änderung machen, da er das Eingabefeld ja nicht sieht. Der Smapbot hingegen füllt scheinbar alle möglichen Felder automatisch aus. Wenn das Newsscript aber nun feststellt, dass der Inhalt des EMail-Feldes eben nicht abc ist, wird der Eintrag geblockt.

So viel zur Theorie, wie ich das umsetzen soll, weiß ich leider nicht traurig Derzeit überprüft mein Script lediglich, ob das Eingabefeld EMail überhaupt ausgefüllt wurde. Wie kann ich ihm sagen, dass es nur einen ganz bestimmten Wert zulassen soll?

Hier der Link zur relevanten Datei: http://www.team-dhk.de/temp/news.zip

Danke im voraus für eure Hilfe
17.05.2007 11:12:32  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Zensiert

AUP Zensiert 28.11.2007
Zeile 274:

if($HTTP_POST_VARS['author'] AND $HTTP_POST_VARS['email'] AND $HTTP_POST_VARS['text']) { // :CHANGED:


in

if($HTTP_POST_VARS['author'] AND $HTTP_POST_VARS['email'] AND $HTTP_POST_VARS['text'] AND $HTTP_POST_VATS['emai'] == 'abc') { // :CHANGED:


ändern.

Wobei ich eher ein leeres, verstecktes input-Feld einbauen würde und das dann überprüfen würde, ob es leer ist (Mensch) oder ausgefüllt worden ist (Bot)

Kris
17.05.2007 11:28:57  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
sh3ll85

Arctic
Danke, deine Lösung funktioniert schon mal.

Aber wo ist der Unterschied bei deinem Vorschlag?
17.05.2007 11:36:26  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Zensiert

AUP Zensiert 28.11.2007
Dass man noch seine E-Mail Adresse angeben kann. :x

Versteckst du das Feld über CSS oder über type="hidden" ?

Kris
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Zensiert am 17.05.2007 11:40]
17.05.2007 11:37:39  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
sh3ll85

Arctic
Als E-Mail Adresse trägt bei mir eh nie jemand was richtiges ein, von daher ist das nicht so schlimm

...über type="hidden"
17.05.2007 11:52:14  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
cms

AUP cms 14.11.2012
Hmm, vll. wäre es auch sinnvoll, zusätzlich eine gewisse Quote an Zahlen, bzw. Nummern rauszufiltern. Wenn z.B. 40% des Textes aus Nummern besteht wird er gefiltert.

Die Idee mit einem versteckten (leeren) input-Feld ist auch nicht schlecht, hilft aber nicht bei Eingaben von Menschen.
17.05.2007 12:11:07  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Zensiert

AUP Zensiert 28.11.2007
 
Zitat von sh3ll85

Als E-Mail Adresse trägt bei mir eh nie jemand was richtiges ein, von daher ist das nicht so schlimm

...über type="hidden"




Kann sein, dass die Bots das Feld dann ignorieren.
Würde dem Input eine class geben und dann über display:none

Kris
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Zensiert am 17.05.2007 12:43]
17.05.2007 12:43:15  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
sh3ll85

Arctic
 
Zitat von cms

Hmm, vll. wäre es auch sinnvoll, zusätzlich eine gewisse Quote an Zahlen, bzw. Nummern rauszufiltern. Wenn z.B. 40% des Textes aus Nummern besteht wird er gefiltert.

Die Idee mit einem versteckten (leeren) input-Feld ist auch nicht schlecht, hilft aber nicht bei Eingaben von Menschen.



Mal schauen, wie weit ich mit der jetzigen Lösung komme. Bei Bedarf komm ich dann auf dich zurück

Und wie ich via CSS verstecke, weiß ich (noch) nicht genau. Aber vllt gehts ja auch so, mal sehen

Danke an alle!
17.05.2007 12:48:41  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Zensiert

AUP Zensiert 28.11.2007
<input type="text" name="email" class="textfield" />

in der CSS-Datei dann

.textfield {
display:none;
}

Kris
17.05.2007 12:52:14  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
sh3ll85

Arctic
 
Zitat von Zensiert

<input type="text" name="email" class="textfield" />

in der CSS-Datei dann

.textfield {
display:none;
}

Kris



Merci
17.05.2007 13:31:52  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
*Reeno*

Leet
Die meisten Spambots beachten per type="hidden" versteckte Felder nicht, da darüber normalerweise die Parameter für die URI zusammengestellt werden.
Wenn du das Feld per CSS versteckst hast du das Problem, dass es bei normalen Besuchern, die CSS deaktiviert haben, angezeigt wird, wobei die Anzahl bei normalen Seiten im Promillebereich ist (außer, die Seite wird oft per Handy abgerufen).

Am wirksamsten ist meiner Meinung nach eine Anbindung an Akismet (http://www.drweb.de/webmaster/kontakt-formular-akismet.shtml) oder die Pflichteingabe eines Wertes (entweder eine Rechenaufgabe oder einfach ein Wort, wie z.B. "Tippe in das Feld das Wort 'blau' ein.")
26.05.2007 22:45:04  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
cms

AUP cms 14.11.2012
Man könnte das Feld mit css absolut positionieren und dann nach jwd verschieben.
26.05.2007 23:05:35  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
*Reeno*

Leet
Hat eigentlich dieselben Vor- und Nachteile wie die display:none-Lösung.
27.05.2007 12:16:17  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
rABBI

Arctic
scrollbars? wenn ich irgendwas außerhalb des sichtbereiches anzeigen lasse, entstehen die doch automatisch?
27.05.2007 12:18:08  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
*Reeno*

Leet
Wenn man etwas per negativem text-indent aus dem Anzeigebereich schiebt erscheinen jedenfalls keine Scrollbars. Darauf basieren ja auch mehrere Image-Replacement-Techniken.
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von *Reeno* am 27.05.2007 12:32]
27.05.2007 12:28:16  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
cms

AUP cms 14.11.2012
Welche User können überhaupt CSS deaktivieren. Meines Wissens nach ging das nur in einer älteren Netscape-Variante, "JSSS deaktivieren" oder so ähnlich hieß das da und hat JS und CSS ausgeschaltet...
27.05.2007 14:07:47  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
critical.error

tf2_spy.png
Welche Beweggründe sollte ein Nutzer überhaupt haben, CSS ausschalten zu wollen?
27.05.2007 14:17:28  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
*Reeno*

Leet
Es ist für eine "normale" Seite eher eine theoretische Frage die man sich im Sinne der optimalen Zugänglichkeit (WAI etc.) stellt.

Ohne CSS surfen auf jeden Fall alle normalen Handys (also alles außer Handhelds/PDAs), einige Screenreader, Textbrowser (die sind sogar noch vereinzelt unterwegs) und Bots (was man hier ja gerade ausnutzt).

@cms: Firefox und der IE können CSS abstellen (bequem nur über eine Toolbar).
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von *Reeno* am 27.05.2007 14:25]
27.05.2007 14:24:21  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
cms

AUP cms 14.11.2012
Ok, ich wüsste nicht, wie es geht... peinlich/erstaunt

Also kann man wohl durchaus davon ausgehen, dass das höchstens 1% aller Surfer tun. Abgesehen davon ist jemand, der in ein Textfeld ohne Beschreibung, was reingehört, etwas eintippt und sich wundert, warum sein Beitrag nicht genommen wird, schon fast selbst schuld. Breites GrinsenAugenzwinkern
27.05.2007 15:07:06  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
*Reeno*

Leet
Firefox kann das über die Web-Developer-Toolbar (http://chrispederick.com/work/web-developer/), die auch sonst sehr nützlich ist. Für den IE gibt es eine ähnliche Toolbar direkt von MS (http://www.microsoft.com/downloads/details.aspx?FamilyID=E59C3964-672D-4511-BB3E-2D5E1DB91038&displaylang=en) und für den Opera gibts auch was (http://operawiki.info/WebDevToolbar).

Sofern man zur Zielgruppe keine Handysurfer zählt kann man gut davon ausgehen, dass es wegen CSS keine Probleme gibt.
27.05.2007 16:29:31  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
cms

AUP cms 14.11.2012
Richtig, die Web-Developer-Toolbar - häufig genutzt und komplett vergessen. peinlich/erstaunt

Aber das wäre, wie du schon sagst, eine zu vernachlässigende Sache (ähnlich wie JS).
28.05.2007 13:00:45  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Zensiert

AUP Zensiert 28.11.2007
Sonst setzt man noch ein Label davor, indem drin steht: "Nicht ausfüllen" o.ä. und versteckt es mit.

Kris
28.05.2007 15:14:45  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
GH@NDI

ghandi2
Sehr gut finde ich eigentlich die Abstrakten Verfahren wie z.B. "Welche Farbe hat dieser Text". Dann einfach ne Auswahlbox anbieten und man muss eben die passende Farbe auswählen.

Bleibt ein Restrisiko, dass ein Bot zuäfflig die richtige Farbe bei seiner Randomwahl erwischt, aber das meiste haste so ausgeknockt
28.05.2007 16:18:11  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
sh3ll85

Arctic
Falls es jemanden für seinen persönlichen Kampf interessiert, hier ein paar Erfahrungen meinerseits: Seitdem ich das Textfeld mit CSS versteckt und so eingestellt habe, dass es leer bleiben muss, wenn der Beitrag angenommen werden soll, gab es keine Spameinträge mehr.
Wie hier schon angemerkt wurde: Das Textfeld via type="hidden" zu verstecken bringt nach meiner Erfahrung wenig, die meisten Bots ignorieren das Feld dann. Ebenso bringt es wenig, wenn das Feld einen vordefinierten Wert hat, der nicht abgeändert werden darf - auch dann wird dieses ignoriert und der vordefinierte Wert beim Eintrag übernommen.
Methoden wie die "abstrake Farbauswahl" sind sicherlich auch sehr effektiv, nur muss man sich, vor allem als Betreiber einer kleinen Seite, fragen, wie viele Steine man einem Besucher in den Weg legen darf, ohne ihn gleich zu verschrecken...
06.06.2007 8:39:29  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
Zensiert

AUP Zensiert 28.11.2007
Sonst kann man natürlich auch selbstlernende Spamfilter einsetzen (b8) oder auf Akismet setzen

Kris
06.06.2007 13:56:37  Zum letzten Beitrag
[ zitieren ] [ pm ] [ diesen post melden ]
 Thema: Antispam Überlegungen ( in der Kommentarfunktion eines Scripts )


mods.de - Forum » Webdesign & Coding » 

Hop to:  

| tech | impressum