// EntheoBlog

Volltext: "Noch ein SPAM-Filter fürs Wiki"

createOption('InternetAddress','Automatically create links for internet addresses ?','yesno','yes'); $this->createOption('NewWindow','Open links in a new window?','yesno','no'); $this->createOption('MailAddress','Automatically create links for mail addresses ?','yesno','yes'); $this->createOption('RewriteMailAddress','Rewrite mail addresses with [at] and [dot]?','yesno','yes'); $this->createOption('at','Placeholder for @','text','[at]'); $this->createOption('dot','Placeholder for .','text','[dot]'); } function getEventList() { return array('PreItem', 'PreComment'); } function Treatment($_text) { global $CONF, $blog; if ($this->getOption('NewWindow') == 'yes') { $nw="onclick=\"javascript:window.open(this.href, '_blank'); return false;\""; } if ($this->getOption('InternetAddress') == 'yes') { $_text = preg_replace('/(\s)([http|https|ftp|file]+:\/\/[a-zA-Z0-9_?=&%;+-.\/]*)/si','\1\2',$_text); $_text = preg_replace('/(\s)(www\.[a-zA-Z0-9_?=&%;+-.\/]*)/si','\1\2',$_text); } $at = $this->getOption('at'); $dot = $this->getOption('dot'); if ($this->getOption('MailAddress') == 'yes') { if ($this->getOption('RewriteMailAddress') == 'no') { $_text = preg_replace('/(\s)([a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+\.[a-zA-Z]{2,5})/s','\1\2',$_text); } else { $_text = preg_replace('/(\s)([a-zA-Z0-9\._-]+)@([a-zA-Z0-9\._-]+)\.([a-zA-Z]{2,5})/s','\1\2'.$at.'\3'.$dot.'\4',$_text); } } if ($this->getOption('MailAddress') == 'no' && $this->getOption('RewriteMailAddress') == 'yes'){ $_text = preg_replace('/(\s)([a-zA-Z0-9\._-]+)@([a-zA-Z0-9\._-]+)\.([a-zA-Z]{2,5})/s','\1\2'.$at.'\3'.$dot.'\4',$_text); } return $_text; } function event_PreItem($_data) { $_data[item]->body = $this->Treatment($_data[item]->body); $_data[item]->more = $this->Treatment($_data[item]->more); } function event_PreComment($_data) { $_data['comment']['body'] = $this->Treatment($_data['comment']['body']); } function supportsFeature ($what) { switch ($what) { case 'SqlTablePrefix': return 1; default: return 0; } } } ?>

24 October

Noch ein SPAM-Filter fürs Wiki

Wie in der Meldung zur Eintichtung von SPAM-Filtern angekündigt, habe ich nun also die zweite Stufe eines solchen Filters gezündet. Die Begrenzung auf 5 neue externe Links hat scheinbar nicht ausgereicht: aus irgend einem Grund konnten die SPAMmer diese Barriere umgehen.
Nun gibt es eine händisch gepflegte Stichwortliste, die beiläufig auch diesen Blog vor allzu aufdringlichen SPAM-Helden befreite (als es los ging mit dem Kommentarspam, waren es pro Tag ca. 100 Einträge, die ich löschen musste - als die Liste eingrichtet wurde, hatte der Filter all das erstmal erwischt und nun versuchen es die Störenfriede noch nicht mal mehr).

Eine freundliche Fehlermeldung beschreibt bei Erkennen eines indizierten Wortes auch das Problem und bittet um Behebung.

Mal schaun, ob die SPAMmer es weiterhin schaffen an den Filtern vorbei zu kommen. Wenn ja, dann muss ich wohl die Datenbank direkt von solchen Einträgen in halbstündigen Abständen befreien lassen.

[Druckversion direkt zum Drucker senden]

Geschrieben von harko um 13:06:44 Uhr - Kategorie: Technik
Karma: 6 [+/-]
Trackback
Derzeit keine Trackbacks vorhanden.
Mit dieser TrackBack url kann der Beitrag verlinkt werden (right-click, copy link target). Wenn Ihr Blog keine Trackbacks anbietet, kann Ihr Trackback manuell durch dieses Formular eingebaut werden .

Comments
mySQL error with query SELECT c.citem as itemid, c.cnumber as commentid, c.cbody as body, c.cuser as user, c.cmail as userid, c.cemail as email, c.cmember as memberid, c.ctime, c.chost as host, c.cip as ip, c.cblog as blogid FROM entheogenenucleus_comment as c WHERE c.citem=99 ORDER BY c.ctime: Table './blog/entheogenenucleus_comment' is marked as crashed and last (automatic?) repair failed

mySQL error with query SELECT count(*) AS result FROM entheogenenucleus_comment as c WHERE c.citem=99 ORDER BY c.ctime: Table './blog/entheogenenucleus_comment' is marked as crashed and last (automatic?) repair failed

Noch keine Kommentare vorhanden.
Add Comments