Article View: pl.news.mordplik
Article #37896Śmieci słownikowe - łatwo po nich ciąć!
From: Godryk
Date: Tue, 09 Mar 2004 11:25
Date: Tue, 09 Mar 2004 11:25
47 lines
2849 bytes
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-mailShow 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