🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.news.mordplik
Article #37896

Śmieci słownikowe - łatwo po nich ciąć!

#37896
From: Godryk
Date: Tue, 09 Mar 2004 11:25
47 lines
2849 bytes
Nie rzuciło mi się w oczy, z eby ktoś na to zwrócił uwagę, więc piszę:

Ostatnio spamerzy dodają - najwyraźniej dla ogłupienia filtrów - ciągi 
niepowiązanych ze sobą, rzadko używanych wyrazów branych ze słownika.

Otóż po pierwsze, więksozść tych wyrazów jest długa - ponad siedem liter; 
wyraz pięcioliterowy czy krótszy zdarza sie raz na kilka - kilkanaście 
wyrazów. Wyrazy krótsze niż trzyliterowe nie występują. 

Po drugie, pomiędzy wyrazami nie ma żadnych znaklów przestankowych, 
a same wyrazy wykorzystują wyłącznie (małe) litery łacińskie, bez 
diakrytyków.

W zwiazku z tym przyszedł mi do głowy pomysł, ze można takie przesyłki 
natychmiast odsiać, szukając w nich łańcucha złożonego z kilku (np. 
5-10?) ciągów liter łacińskich, bez diakrytyków czy cyfr, 
nie krótszych niż ileś (3-5?) liter, rozdzielonych wyłącznie białymi 
znakami, bez znaków przestankowych.  

Na pewno będzie to prostsze, niż wyszukiwanie słów zdefiniowanych 
jako charakteystyczne dla spamu. 

Zapisując to perlowym regexpem, dla ciągu dziesięciu słów co najmniej 
4-literowych  

/([a-zA-Z]{4,}\s+){10,}/i

(Unikam świadomie \w, bo zależy od locale, a tu chodzi konkretnie 
o łacińskie litery.)

Przy tych parametrach false positives będzie bardzo mało - w ciągu 
dziesieciu angielskich słów użytych w sensownym tekście prktycznie 
na pewno znajdzie się znak przestankowy, czy rodzajnik albo przyimek, 
krótszy niż 4 litery - a wśród słów polskich, czy w innym języku 
- znak diakrytyczny. 

Tylko jak to prosto przetłumaczyć procmailowi? Na pierwszy rzut 
kojarzę, ze można użyć zewnętrznego egrepa i podać mu wzorzec w rodzaju 

([a-zA-Z]{4,}[[:space:]]+){10,}

Ale czy da się to zapisać bez egrepa?

-- 
Godryk / S.M.O.K. prfs-f / godric@sf-f.pl / Tomek Marcinkowski
______________________________________________________________
>>> zima... nic, tylko zwinąć się w kłębek i przeczekać... <<<
Technical Details
Message-ID: <slrnc4rafv.fae.godric@godric.was.here>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!news.ipartners.pl!news.internetia.pl!newsfeed.gazeta.pl!news.zigzag.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!news.ipartners.pl!news.internetia.pl!newsfeed.gazeta.pl!news.zigzag.pl!not-for-mail
From: Godryk <godric@sf-f.pl>
Newsgroups: pl.news.mordplik
Subject: Śmieci słownikowe - łatwo po
 nich ciąć!
Date: Tue, 9 Mar 2004 11:25:58 +0000 (UTC)
Organization: The Workstation - where every work stops...
Lines: 47
Message-ID: <slrnc4rafv.fae.godric@godric.was.here>
NNTP-Posting-Host: drozd.smutek.pl
Mime-Version: 1.0
X-Trace: news.zigzag.pl 1078831558 18907 193.109.226.14 (9 Mar 2004 11:25:58 GMT)
X-Complaints-To: abuse@zigzag.pl
NNTP-Posting-Date: Tue, 9 Mar 2004 11:25:58 +0000 (UTC)
User-Agent: slrn/0.9.8.0 (NetBSD)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit