Alex: Antispam / Tags finden

Hallo Ihr

Wegen dauerndem Spam in einem Gästebuch, versuche ich Eingaben auf HTML Tags zu checken (wird fast immer versucht).
Ich bin aber bisher nicht fündig geworden, was eine fertige Funktion finde_tags() oder so ähnlich angeht.
Meine selbstgeschriebene Funktion checkt nur ein array mit den gängigsten Spam-versuchen
$spam=array("<a href=","[url=","<h1","<h2","<h3","[link=","Content-Type:","MIME-Version:","Content-Transfer-Encoding:");

Natürlich könnte man mit
if(htmlentities($eingabe)!= $eingabe) gucken, ob tags eingegeben wurden, aber vielleicht kennt ja jemand noch eine bessere Lösung?

Was habt Ihr für Strategien gegen Spammer entwickelt?

Thanx
   Alex

  1. Hi,

    Natürlich könnte man mit
    if(htmlentities($eingabe)!= $eingabe) gucken, ob tags eingegeben wurden, aber vielleicht kennt ja jemand noch eine bessere Lösung?

    warum? Einfach die HTML-Sonderzeichen kodieren und fertig.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo Cheatah

      warum? Einfach die HTML-Sonderzeichen kodieren und fertig.

      Das führt dazu, dass das Gästebuch täglich mit aberhunderten von Einträgen zugespammt wird, die sich genauso lesen wie dieser:
      ____________________________________________________________________________
      From: diazepam online pharmacy (email not valid)    Thursday, 23rd March 2006
      http://diazepam.draze.com/diazepam-online-pharmacy.html

      <h1><a href="http://diazepam.draze.com/diazepam-online-pharmacy.html">diazepam online pharmacy</a> http://diazepam.draze.com/diazepam-online-pharmacy.html [URL=http://diazepam.draze.com/diazepam-online-pharmacy.html]diazepam online pharmacy[/URL] [URL]http://diazepam.draze.com/diazepam-online-pharmacy.html[/URL]</h1>
      ___________________________________________________________________________

      Die werden dann brav als htmlentities angezeigt, aber darum geht's ja garnicht, das Gästebuch hat nach ner Woche über 1000 Einträge...
      Wer Tags in ein Eingabefeld eingibt, ist ein Spammer und der Eintrag soll einfach ab ins Datennirvana!

      Ich dachte, es gibt schon eine fertige Prozedur wie count_tags($eingabe) oder sowas.

      trotzdem Danke

      Alex

  2. gudn tach!

    Natürlich könnte man mit
    if(htmlentities($eingabe)!= $eingabe) gucken, ob tags eingegeben wurden, aber vielleicht kennt ja jemand noch eine bessere Lösung?

    hmm, also htmlentities($eingabe) ist schon mal etwas, was ich fuer die ausgabe nehmen wuerde, aber nicht um tags zu finden.

    dafuer dann eher strip_tags:
    if(strip_tags($eingabe) == $eingabe){ /* brav ... */}

    Was habt Ihr für Strategien gegen Spammer entwickelt?

    die frage wurde in den letzten wochen/monaten sehr haeufig gestellt. eine suche im archiv wird dir da viel hilfreiches bieten.

    prost
    seth