« Mindenki másképp csinálja »

Én például így:

function isSpam($s,$e)
{
 $black = array("<br>", "porn", "teen", "viagra","software","nice site","casino");
 $white = array("zokni[kukac]mefi.be");
 $point = 0;

 foreach($black as $spam){    if(preg_match("#\b".$spam."\b#",$s)) { $point++; }
 }

 if(in_array($e,$white)){ $point - 5; }
 if($point > 5){ return true; } else return false;
}

A fehér- és a feketelista elemeit természetesen adatbázisban tárolom, de maga a kezelés így működik.

Aki esetleg nem értené: a függvény egyesével végigzongorázza az összes tiltott szót, és ha a kommentben valamelyik szó egyezik a feketlistán szereplő elemek egyikével, akkor a feketepont értéke eggyel nő. Ha pedig a – jelen esetben &ndsah; e-mail cím szerepel a protekciós listán, akkor öt pontot levon a feketepontok összegéből. Ez értelmeszerűen azért van, hogy aki tíz éve itt kommentál, azt ne ellenőrizze ilyen szigorúan. Ha a feketepontok száma nagyobb, mint öt, visszatérési értéke igaz, ellenkező esetben hamis.

Eddig ez bevált, nem nagyon engedett be csak olyan szemeteket, amelyek tartalma egy e-mail volt, de már (úgy néz ki) azokat is szűri. Egyébként nekem a tiltott IP- és e-mail címeket és neveket is ezzel ellenőrzi, bár megjegyzendő, hogy nem sok ilyen van.

Még régebben Shamalt is írt egy ilyen módszerről; ha még nem tettétek, olvassátok el azt is, minél többet lát az ember, annál jobb.

Egyébként a <code> elem helyett mért nem <pre>-t használok?

Kommentek RSS ikon
A bejegyzéshez érkezett kommentek, amiket RSS csatornán is követhetsz.
akkor ezek szerint a viagra viagra viagra csak 3 pont es beengedi :P
illetve bocsanat, csak 1, mert nem preg_match_all
Igen, de ilyen komment még nem volt, hogy „viagra viagra viagra”, általában több pontot szokott kapni.

Mondjuk ironikus, hogy előbb becsúszott két komment, ami olyan szavakat tartalmazott, melyek nem voltak a listán. :)
en preg_match_all-lal csinalnam, ha mar szamolos-pontozosat csinalsz :)
en pl kaptam csomo buy viagra v1agra v14gr4 es a szo osszes lehetseges alakjat tartalmazo spamet.
Leleményesek ezek a köcsögök botok, egyszer kiherélnék egy spambot-készítőt.
Mindjárt írok egyet. :D
Akkor majd segítek elkapni smv-t, mefi. :D Tiéd a bal heréje, enyém a jobb. :)
Az egyik volt számtech-tanárom mondta : „Nincs jó program (algoritmus), csak jobb.” Lényegében igaza van.
A vege sztem szebb igy:
return ($point > 5) ? TRUE : FALSE;
Igazad van, de végülis mindegy, gyorsaság szempontjából. Viszont tény, hogy esztétikusabban mutat.
Új komment

Itt az adott bejegyzésben elhangzottakhoz szólhatsz hozzá. Ha primitív, csúnya, vagy bunkó erkölcsről teszel tanúbizonyságot, tuti, hogy kimoderállak és rosszat mondok rólad. A hozzászólás nem kötelező, amit írsz vállald föl!

Ezeket az adatokat - ha a böngésződ kezeli a kukikat - csak egyszer kell megadnod, később módosíthatod.

Ha van gravatarod - és a gravataros e-mail-címeddel kommentálsz -, akkor az megjelenik. Ha nincs, vagy nem tudod miaz, akkor olvasd el az útmutatót és regisztrálj.

Neved: E-mail címed (nem jelenik meg): Webszájtod (ha van): Kommented: Mennyi három és három összege?
Ez védelmi célokat szolgál, szimplán írd be a fenti összeadás összegét!

A kommentedet írhatod nagyobb mezőbe vagy akár formázhatod is, de ha nem szalonképes, akkor moderálom!

Ajánló
Ebben a témában, esetleg ezen a napon voltak még ilyenek is:

LESS (2011. június 11., 08:26:13)
A HTML 5 ereje (2012. január 13., 11:00:04)
A .htaccess használata (2006. április 18., 04:34:28)

Érdekességek
Száraz számok, pusztán csak tények:

Ez a bejegyzés 2184 napja született, 357 szóból, és 2027 karakterből áll. Ajánlhatod bizonyos linkgyűjtő oldalaknak: