Spamfilter kullan覺m覺 ve karakterleri
/helpop ?spamfilter

***** Spamfilter *****

-
This command adds/removes global spam filters.
Spamfilters can be used to get rid of spam, advertising, bots, etc.
-
Use: /spamfilter [add|del|remove|+|-] [type] [action] [tkltime] [reason] [regex]
[type] specifies the target type, you can specify multiple targets:
c channel msg, p private msg, n private notice,
N channel notice, P part msg, q quit msg, d dcc,
a away, t topic, u user (nick!user@host:realname ban)
[action] specifies the action to be taken (only 1 action can be specified):
kill, tempshun (only shun current session), shun,
kline, gline, zline, gzline, block (blocks the msg),
dccblock (unable to send any dccs), viruschan (part all channels
and join the virus help chan).
[regex] this is the actual regex where we should block on
[tkltime] the duration of the *LINEs placed by action (use - to use the default
set::spamfilter::ban-time, this value is ignored for block/tempshun;
[reason] the reason for the *LINE or blockmsg, CANNOT CONTAIN SPACES,
_ will be translated to spaces. Again, if you use - for this
the default (set::spamfilter::ban-reason) is used.
-

Type; | Action;

|

c: Kanala g繹nderilen mesajlar覺 engeller. | Kill

p: zele mesajlar覺 engeller. | Tempshun

n: Kiiye g繹nderilen noticeleri engeller. | Shun

N: Kanala g繹nderilen noticeleri engeller. | Kline

P: Part mesaj覺lar覺n覺 engeller. | Gline

q: Quit mesajlar覺n覺 engeller. | Zline

d: ddc engeller. | Gzline

a: Away mesajlar覺n覺 engeller. | Block

t: Topicleri engeller. | Dccblock

u: Kullan覺c覺y覺 ifade eder. | viruschan

Spamfilter Kullan覺m覺 :

/spamfilter [add|del|remove|+|-] [type] [action] [tkltime] [reason] [regex]

Se癟enekleri mevcuttur, burada dikkat etmeniz gereken husus; yukar覺daki se癟eneklerden sadece birisini kullanabilecek olman覺zd覺r. Buna g繹re eklediiniz spam textine engel olarak zline vekillse癟enekleriniayn覺andakullanamazs覺n覺z.

襤kisindenbirinise癟menizgerekir.

tkltime;

Bu zamani ifade eder; 2d, 3d(2day yani iki g羹n day ) gibi belirlediiniz zaman d羹zenlemesini yaparsiniz.

regex ;

Yazi kaliplarini ifade etmek icin kullanilan ozel bir bicim ozel bir bicim olmakla beraber tam karsiligi duzenli ifadelerdir.

. : bosluklar icin kullan覺l覺r 繹nrek : girmek icin t覺kla = girmek.icin.t覺kla

+kelime+ : Direk bu kelimeyi yasaklar. rnek : +www.reklam.com+

| : Veya anlaminda kullanilir diyebiliriz. rnek olarak;

/spamfilter add a gzline 2d Spam/Away http://www.+[net|com|org]

Yani burada diyor ki; away olan kullan覺c覺n覺n away msj覺nda www. den sonra com, net, org gibi bir uzantisi varsa bu kisiye iki g羹nl羹k gzline at. www.reklam.com , www.reklam.net , http://www.reklam.org gibi adresleri uzaklastirir.

Regex Hakk覺nda bir kac ipucu:

[A-Z] : harf satirinin tanimidir A dan baslayarak latin alfabesinin sonuna kadar gider Z yani.

[0-9] : Numaralari temsil eder 0 dan baslayarak 9淮 kadar olan butu rakamlar anlamindadir

\ (Slash) : Bu bir kac ozelliginden biridir. 繹zel karakterlerden kacinmak ve temin ettigi 繹zelligi bizim istedigimiz hale getirmesi icin kullanilir. Ornegin

. (Nokta ) : Bu bir belirsiz kelime yerine kullan覺lan 繹zel bir POSIX tanimidir ornegin aCoustiC adli bir kelimenin 2. harfinin ne oldugunu bilmiyorsunuz bunun yerine . (Nokta) koyarak orada ne olursa olsun anlamini tasimasini saglaya bilirsiniz. Eger http://www./ (a癟覺klamas覺: www.) gibi bir reklam engellemesi eklediginizde ki herkezin yaptigi en buyuk hata sonuc itibari ile olan olay http://www./ (a癟覺klamas覺: www.) yani wwwburada_ne_var_bilmiyorum dolayisiyla wwwa wwwb wwwc www0 alfabetik ve numerik her ne gelirse gelsin bunu dinleyecek ve bu 繹zellikteki bir metin mesaj覺n覺 engelleyecektir. bu tarz bir metin mesaj覺n覺 engellemek icin \ (Slash) kullanmaliyiz www\. bu tamamen su anlama gelir http://www./ (a癟覺klamas覺: www.) kelimesi gecen keliemeleri dikkate al.

yukaridaki spamfilterimde dikkatinizi muhakkak cekmistir | ( ) .+ gibi ozel islemsel bir tanimlama kullandim bunlarin anlami

|| yani programlama dilideki veya anlamina gelir regex de ise | olarak kullan覺lmaktadir. ali|veli|49|50 yani ali veya veli veya 49 veya 50 demek istemis oluyoruz burada veyan覺n bize sagladigi 繹zellik belirtilen ilk olasiligin yani ali olas覺l覺g覺n覺n kelime ile butunlesmemesi halinde veli olabilecegi bununlada butunlsmediginde 49 olabilecegi bunun disinda da 50 olabilecegi anlamina gelmektedir.

() 繹zelligine gelelim.

Bu bir Gruplama 繹zelligidir icine bir grubu dahil ederiz. Cogu spamfilter lerimizde kullanmamiz gerekir ornegin benim kullandigim gibi.

Once regex tarafindan islenecek stringlerin geldigi sirada yani

(http://|www|w.ww|w.w.w) orneginde oldugu gibi once http:/// (a癟覺klamas覺: http://) sonrasinda www sonrasinda w.ww sonrasinda w.w.w 繹zelligi gozden geirilecek ve bu ozelliklerden birinin yakalanmasi halinde (n.e.t|c.o.m|o.r.g|net|com|org) grubundaki ifadelere bakacaktir isin asli ilk olasiligin olmamasi halinde regexin butun string(verilerin) islenmesine gerek duymadan ilk bir kac ifadede durmasi ve bosuna islem yapmasini engelliyecektir. Neden cok onemli Cunku bosa donen her ifade bos olmasina ragmen islenmeye calisiliyorsa programiniz yani IRCD biz belli bir buffer ( GC) t羹ketiyor ve kendini asan durumlarda kitleniyor bu da kapanmasina neden oluyor ircd systeminizin.

\d [0-9] ile ayni anlami tasir

\w [A-Z] ile ayi anlami tasir

? ne anlama gelir

bunun ifade ettigi anlam sudur programdan anlayanlar bunu cok rahat anlayacaklardir 0 ve sonrasi. baslangic noktasi 0 dir arkadaslar yani dahil olan yerin bir oncesidir bir kac ornekle ac覺klayayim

Cappa?docian kelimesi cappaxxdocian ve cappa01docian ile ayi anlami tasir ? oldugu yerde bulundugu ve onun onundeki ifade ? tarafindan bir bilinmeyen anlamini tasir. bulundugu yere ne gelirse gelsin ve sonrasinda bulundugu yerin oncesine ne gelirse gelsin anlamini tasir.

* ne anlama gelir

? ile ayni anmi tasimaktadir ama bu sefer 0 dan baslayarak sonsuza kadar ki ifadeleri temsil eder ornekle aciklamak gerekirse

cappadocian* kelimesi cappadocianfalan54654filan ve cappadocianfalanfilan654642 ile ayni anlama gelir

* in bulundugu yer kendinden bir oncesinden baslayarak sonsuza kadar ne oldugu bilinmeyen anlamina gelir kisacasi.

+ ne anlama gelir

* ifadesinin aynisi olup tam tersin 1 den baslayip sonsuzluga kadar giden ifadeler anlamina gelir.

Warning

(w)(w)(w)

\w\w\w

w.w.w

w?w?w

gibi reklamlari kac (\) kullanarak yasaklamalisiniz

( ) \ / ^ ? * . [ ] bu tur karakterler regexde islenmesi icin ozel tanimlardir bunlari kullanirken mutlaka onlerine \ koyunuz

{} bu iaretler ise alt s覺n覺r ve 羹st s覺n覺r belirlemek i癟in kullan覺l覺r.

yani biz bir harf yada bir say覺 ar覺yoruz fakat bu arad覺覺m覺z karakter 1 tanede olabiliyor 10 tanede olabiliyor bu tip durumlarda bunu kullan覺yoruz..

繹rn:

Arad覺覺m覺z 1025 olsun fakat bu 1025 degeri her defas覺nda deiebilir yani 125 de olabilir 7000 de olabilir buna uygun bir regexp

[0-9]{1,4} olcakt覺r burda 1 ile en az bir tane 0 ila 9 aras覺nda bir say覺 gelebilir enfazla ise 4 tane yanyana bir 0-9 grubundan bir say覺 gelebilir dedik..

bunu illa 0-9 grubuna balamak gerekmez. ayn覺 eyi a-zA-Z gruplar覺 i癟inde ge癟erlidir

繹rnein ard覺覺m覺z text ali olsun fakat i harfi 1 tanede gelebilir 10 tane de gelebilir o halde buna g繹re RegEXP desenimiz

[aA][lL][[iI]{1,10} bu desen bize ali alii aliiii aliiiiiiiiii onda yaz覺lsa sonu癟 verecektir

dier bir 繹zel karakterler ise

^ ve $ d覺r bunlar ne i yapar

^ bu karakter kullan覺ld覺覺nda bir metinde 繹rnein ali kelimesini ar覺yoruz normal de ali yazd覺覺m覺z da memetali kelimesinide bulucakt覺r fakat bize sadece ali laz覺m ise ba覺nda ^ali diyoruz yani apka iareti kendinden sonra balayan harf ve devam覺na bak覺yor b繹lece bi 癟ok gereksiz gelecek olan degerden kurtulmu oluyoruz

^ali bu desenlede alimehmet gibi degerler de d繹necektir.. oysa biz ne demitik bize sadece ali laz覺m idi o haldeyse bu noktada devreye $ gircektir $ ile biten anlam覺na gelir yani desenimizin en son hali

^ali$ evet bu bize direk ali k覺sm覺n覺 tar覺cakt覺r kaynak metinde

k覺saca ^ ile balayan $ ise kendinden bi 繹nceki harf ile biten anlam覺na gelmektedir.

apkan覺n kullan覺m yerine g繹re g繹revi de deimektedir karakter katar gruplar覺ndan 繹nce kullan覺ld覺覺nda yine standart olarak bu harf yada rakamlarla balayan metinleri tarayacakt覺r fakat karakter katar grubu i癟inde yaz覺ld覺覺 takdir de tam tersi bir g繹rev yapcakt覺r

K覺saca bir 繹rnek.

^[a-zA-Z] bu desende herhangi bir a-z yada A-Z ile balayan t羹m metinler dedik

[^a-zA-Z] ise bu karakterler haricinde demek oluyor.. yani aradigimiz kaynakta yazi yani harfler g繹z ard覺 edilecektir b繹lece ar覺yaca覺 tek ey 0-9 grubundan elemanlar olucakt覺r

\b ise direk bir metinle birebir eletirmek i癟in kullan覺l覺r diyeyim yani

bir c羹mle olsun mehmetali naber nas覺ls覺n

biz bu c羹mledeki sadece aliyi bulmak istiyorsak

\bali\b dememiz yeterli olucakt覺r..

evet bu bilgilerden sonra bir ufak regex yazal覺m m覺 ?

RegEXP konusu:

irc ve www ve http gibi reklamlar覺 繹nlemek 羹zerine.

ilk 繹rnek irc

([iI1]|!)\W*[rR]\W*[cC]\W*\..*\.(\W*[cC]\W*[oO0]\W*[mM]|\W*[nN]\W*([eE]|)\W*|\W*[gG]\W*([eE]|)\W*[nN]\W*\.\W*[rR]|[oO0]\W*[rR]\W*[gG])

bu ilk desenimiz evet burda \W* kulland覺k bu sadece harf leri al覺p aradaki boluk veya herhangi bir -_?*\ vs k覺s覺mlar覺 engelleyerek direk olarak bize

irc.dnm.com gibi k覺s覺mlar覺 vercektir yukar覺daki desenimiz

1 r c . h*k*g*f*d . c\o\m gibi herhangi buna benzer t羹m reklamlar覺 denetleyip doru olarak d繹necektir

dier 繹rnek www

(\W*[wW]{3}|\\/\W*\\/\W*\\/|[wW]\W*[vV]\W*[wW]) bu desen ise

www yahut w-w-w w*w*w veya \/ \/ \/ w*v*w bunun gibi kelimelerle elecektir