Joker(Wildcard) Nedir? - Nasıl kullanılır?

Bu bölümde IrC hakkında paylaşım ve sorunlarınızı anlatabilirsiniz
Kullanıcı avatarı
Immortal
Admin
Admin
Mesajlar: 337
Kayıt: 01 Eyl 2009, 06:05

Joker(Wildcard) Nedir? - Nasıl kullanılır?

Mesaj gönderen Immortal »

Wildcard bazı IRC komutlarının kullanım alanlarını genişletmekte kullanılan karakterlerdir. bu karakterler aracılığı ile belirlediğimiz maskı aktif/deaktif hale getirebiliriz.

Bu karakterleri kullanabileceğimiz alanlardan bazıları akick,ban,ignore,access list, vb komutlardır. "?" ve "*" simgelerini bu komutlar beraberinde kullanarak daha geniş kapsamlı bir maske belirleyebiliriz.



"?" tek haneyi kapsar ve belirtilen hane için tüm olasılıkların yerini alır.

Örneğin ; /chanserv akick #Kanal add ?xy!*@* girişiniz yasaklanmıştır.

Açıklama ; bu komut kullanılırsa Kanal kanalına nickinin karakteri 3 haneli olan kullanıcılarda son iki harfi xy olanları kanala giriş yapamaz.



"*" sıfır ila sonsuz hane kapsar. belirtildiği haneden önceki/sonraki tüm olasılıkları kapsar.

Örneğin ; /chanserv akick #Kanal add *xy!*@* girişiniz yasaklanmıştır.

Açıklama ; bu komut kullanılırsa Kanal kanalında nickinin son iki hanesi xy olan kullanıcılar kanala giriş yapamaz.



Örnek : #Kanal kanalına Yalnızca nick'i 3 haneli olan kullanıcılar girebilsin istiyorum ?

Yanıt : /mode #Kanal +be *!*@* ???!*@*



Mask Nedir? - Nasıl kullanılır?



Mask bir kullanıcının adresidir, bu adres kullanıcının "Nick,Ident ve IP(HOST)"unu kapsar.

Mask = Nick!Ident@Host



Mask yazılırken öncelikle Nick kısmı girilir ve "!" işareti ile nick kısmının bittiği belirtilir.

"!" işaretinin ardından Ident bölümüne geçilir ve Ident yazılır.

Ardından "@" karakteri ile Ident bölümü bitirilir ve Host kısmına geçilir.

"@" karakterinin ardından yazılan kısım Host kısmıdır.



Örnek ; Whois bilgilerine sahip olduğum Immortal nickli kullanıcıyı #x kanalından banlamak istiyorum ?



Immortal is [email protected] * Either Exist As You Are Or Be As You Look
Immortal is a registered nick
Immortal using irc-m04.icq.aol.com IrCQnet
Immortal has been idle 16secs, signed on Thu Apr 01 02:28:36
Immortal End of /WHOIS list.



dikkat etmemiz gereken satır ilk satırdır,

Immortal is [email protected] * Either Exist As You Are Or Be As You Look

Burada kullanıcının nickini(Immortal) görüyoruz ardından Ident'i ve @ karakteri(Idareya@) ve son olarak hostu AC09CE.3369E6.07F5D3.BF71D1"

Bu kullanıcıyı kanaldan banlamak için ;



/mode #kanal +b Immortal![email protected]



Komutunu kullanabiliriz.



Örnek : X identine sahip hiçbir kullanıcı #Kanal kanalına giremesin istiyorum, nasıl yapabilirim ?

Yanıt : /mode #Kanal +b *!X@*


immortal-away is [email protected] * http://ICQTurk.com/

Örnek : Host bölümünde "Chanops" sözcüğü geçen hiçbir kullanıcı #Kanal kanalına giriş yapamasın istiyorum ?

Yanıt : /mode #Kanal +b *!*@*Chanops*



Örnek : Nickinin içerisinde x harfi geçen kullanıcılar #Kanal kanalına yasak sebebi ile giremesinler ?

Yanıt : /Chanserv akick #Kanal add *x*!*@* yasak



Örnek : #Kanal kanalı flags listesinde bulunan nicklerden ilk harfi X olanları listelemek istiyorum ?

Yanıt : /Chanserv flags #Kanal X*



~~~~~~~~~~~~~~~~


~Herhangi bir komut ile yapmak istediğimiz birşeyde zorlandığımızda yada bir komutu daha geniş kapsamlı kullanmak için biz " wilcard " lardan yardım alırız Wilcard'lar joker karakterler diye de anılırlar Bu karakterler kullanım alanlarına ve şekillerine göre ayrı anlamları, farklı temsilleri vardır Genelde " Nick!Identd@Host " maskesi dahilinde kullanılır ve bizim işimizi kolaylaştırmak için vardır

? ve * olmak üzere iki şekildedirler

? : Tek bir karakteri temsil eder Bahsi geçen maskenin sayısı belli olup ancak şekli şemali belli olmadığı durumlarda kullanılır
Mesela şöyle diyelim, 6 haneli bir nick ancak 3 harfi bilinmiyor Biz bu 3 hanenin yerine " ? " işareti kullanırız ? işareti yerine her türlü karakter gelebilir

Örnek -> 3 haneli kanalları nasıl listeleyebilirim?
Cevap -> /list #???

Yukarıdaki soruyu şöyle düşünelim Bize meyve olduğunu söylüyor ama hangi meyve olduğunu söylemiyor
Bu nar da olabilir, muz da 3 harfli olsun da ne olursa olsun diye ekliyor sonuna da

Örnek -> Sunucu üzerindeki aktif olan kanallardan sadece 5 haneli olup, 3 hanesi " a " , son hanesi " c " olanları listelemek istiyorum Komut nedir?
Cevap -> /list #??a?c

Yukarıda da görüldüğü üzre; ilk iki hane için soru işareti kullanmışız çünkü: bizden istenen kısım nickin 5 haneli olması ve 3 ve 5 harflerin a ve c olması Bu tür sorularda biz; bizden isteneni yerine yerleştirip, bilinmeyen kısımlara " ? " kullanıyoruz

? karakterinin temsilini detaylı olarak gördük Diğer işaretimiz ise ;


* : Kullanım yerine göre önündeki/arkasındaki tüm karakterleri temsil eder Karakter sayısının belli olmadığı ancak belirtilen karakterin içinde olduğu kısımlar için kullanılır

Bu karakteri kullanırken de şöyle düşünücez Bir ban uygulamamız isteniyor; bize verilen bilgilerde sadece nickin " a " harfi ile bittiği belirtiliyor Biz bu a'dan önceki kısma " * " deriz " * " kısmı a'dan öncesi için geçerli olur ve karakter sayısı da belirsizdir aynı zamanda

Temel olarak 4 kısımda * işaretini kullanırız


Kısım1 -> Belirtilen maskenin sadece ilk hanesinin belli olduğu durumlarda,
Kısım2 -> Belirtilen maskenin sadece son hanesinin belli olduğu durumlarda,
Kısım3 -> Belirtilen maskenin ilk ve son hanesinin belli olduğu durumlarda,
Kısım4 -> Belirtilen maskenin ilk ve son hanelerinin belli olmayıp sadece içerisinden bir veya birden fazla karakterinin belli olduğu durumlarda


Soru(Kısım1) -> #X Kanalında nicki a ile başlayan kullanıcıları akicke almak istiyorum Komut nedir ?
Cevap -> /cs akick #X add a*!*@*


NOT: Nick!Identd@Host maskesini kullanırken; bize verilen kısımları kullanıp, hakkında bilgi sahibi olmadığımız kısımlar için " * " kullanıyoruz Görüldüğü gibi nick kısmını " a* " olarak kullandık İdentd ve host kısımları için ise her ne olursa olsun anlamını taşıması için sadece " * " kullandık Yani komutun okunuşu; " nick'i a ile başlayıp karakter sayısı belli olmayan(Ahmet'te, Abdülrezzat'ta bu akickten etkilenir Bizim için önemli olan kısım baştaki " a " ) ve İdentd'i ile Host'u kaç karakterli olursa olsun ve hangi karakteri içerirse içersin #X kanalına girişini engellemek istiyorum " şeklinde olucaktır


Soru(Kısım2) -> #X kanalında nick'i a ile biten kullanıcıları akicke almak istiyorum Komut nedir ?
Cevap -> /cs akick #X add *a!*@*

Açıklama: Burda nick kısmının başına " * " koyduk ve en sonuna " a " ekledik Bu demek oluyor ki " Nickinin karakter sayısı, identd'inin ve host'unun ne içerdiği kaç haneli olduğu önemli değil; nicki a ile bitsin yeterli "


Soru(Kısım3) -> #X kanalında identdinin ilk hanesi a son hanesi p olan kullanıcıları akick almak istiyorum Komut nedir ?
Cevap -> /cs akick #X *!a*p@*

Açıklama: Bu soruda bize diğer 2 sorudan farklı olarak IDENTD'indeki karakterler hakkında bilgi verilmiş Öncelikle dikkat etmemiz gereken nokta burası, daha sonrasında ise nerede doğru kullanıcağımızı bilmeliyiz Nick ve Host hakkında herhangi bir bilgimiz olmadığı için; her ikisi içinde " * " kullanmamız gerekmektedir IDENTD kısmı için ise ; " a*p " kullanacağız Tümünün birleşiminde oluşan maske " *!a*p@* " olucaktır


Soru(Kısım4) -> #X kanalına hostunun içerisinde " 10 " geçen kullanıcıların girişini engellemek istiyorum Komut nedir ?
Cevap -> /cs akick #kanal add *!*@*10*

Açıklama: Bu soruda da bize akick eklenicek kişinin HOST'undaki karakterler hakkında bilgi verilmiş Demekki biz nick ve identd yerine " * " kullanıcağız HOST için kullanmamız gereken wilcard'ımız ise ; " *10* " olucaktır Bunların birleşimi de " *!*x*@* " maskesini oluşturucaktır



? ve * karakterlerinin beraber kullanımı ;

Bu kısım sizin kafanızı karıştırmaya birebirdir Ancak üstteki karakterlerin kullanım yerlerini mantıken kavradıysanız size pekte zor gelmicektir
Burda dikkat edilecek nokta aslında okuma kısmıdır Karakterleri okyabiliyorsanız; gerisi kolaydır

Burayıda iki farklı şekilde inceleyelim

Kısım1 -> ?'den sonra kullanılan * karakteri,
Kısım2 -> *'dan sonra kullanılan ? karakteri


Buraya kadarki örneklerimizde soru sorup - cevabı istedik bu sefer tam tersi yöntemle ilerleyelim

Örnek(Kısım1) -> /cs akick #x add ??*a*??!*@*

Açıklama: Bu komutu uyguladığımızda; #X kanalına karakter sayısı sınırsız nickinin ilk iki ve son iki hanesi HARİÇ, içerisinde a geçen nicklerin kanala girişi engellenicektir Başta ? görenler eminimki bu komuta 6 haneli içinde a geçen nickler akicke alınır diye düşünmüşlerdir Ancak bu komutta bir karakter sınırlanması yoktur
Burdan anlıyoruz ki ; ?'ın başta veya sonda olup * işaretinin olduğu durumlarda ? işaretinin olduğu kısımları içerisinden çıkarıyoruz Nasıl yani diyecek olursanız, zEbAni nickinin biz baştaki ve sondaki ilk iki hanesini çıkarıyoruz yani " ba " olarak düşünüyoruz Bakıyoruz ki kalan kısımlar içerisinde " a " geçiyor, anlıyoruz ki bu nick akickten etkilenir

Peki Master nicki bu akickten etkilenir mi? bakalım; Master nickinin ilk ve son iki harflerini çıkaralım, kalan kısım " st " harfleridir Biz bakıyoruz ki kalan kısımda " a " yok ; demekki bu nick akickten etkilenmez




Örnek(Kısım2) -> /cs akick #X add *?a?*!*@*

Açıklama: Bu akick'i uygulayacağımız akick bizim " KISIM4 " te göstermiş olduğumuz uygulama şeklinden bir farkı yoktur Dolayısı ile ordaki ? karakterleri fazlalık etmiş ve gereksiz kullanılmışlardır Bu akick'ten karanter sayısızı sınırsız nickinin içinde a geçen tüm kullanıcılar etkilenicektir



Wilcard hakkında soru - cevaplar ;

SORU1 : (lütfen bu soruyu dikkatli okuyunuz)
Kanalıma öyle bir flag-list çekeyim ki;
a-) 'kazim' ve 'nazim' nick'leri kesinlikle listede olsun
b-) listedeki bu iki kişi hariç olanların nicklerinin listede çıkma olasılığı minimum olsun
#testing kanalında uygulayacağımız bu komut için gerekli olan tam komutu yazınız


Cevap1) Şimdi böyle bir soru ile karşılaştığımızda ilk olarak nicklerin ortak yönlerini belirliyoruz Daha sonra ise ; kullanım yerlerine göre wilcard'larımızı yerleştiricez
Kazim ile Nazim arasındaki ortak karakterlere bakıyoruz ;
Her ikisinde de 5 harfli ve 2 harf " a" ve son iki harf " im "Buna göre Komutumuzu yazıyoruz;

-> /cs flags #testing ?a?im

Soruda ilk karakter için hem k hemde n nicklerinin çıkması için ? işareti ve yine 3 harfte her ikisi için farklı karakterler temsil etmesi ve listede çıkması için ? işareti kullanıyoruz Ortak haneleri birleştirip 5 karaktere tamamladıktan sonra sorunun tamamlanmış olduğunun zaten farkına varıyoruz


SORU2 : Kanalıma 3 haneli içerisinde a geçen kullanıcıların kanalıma girişini engellemek istiyorum Komut nedir?

Cevap2) Şimdi bu soruda biraz mantığımızı konuşturmamız gerekmektedir Soruyu ilk duyduğumda bende bayağı bi düşünmüştüm ama sorunun aslına bakınca çok kolay Biz böyle bir wilcard görmedik, hem sınır olsun hemde içindeki karakteri belirliyelim O zaman teker teker banlıyacağız

-> /mode #kanal +bbb a??!*@* ?a?!*@* ??a!*@*

Yukarıdaki komutta görüldüğü gibi; ilk +b mode'unda 1 harfe a verip diğerlerine ? işareti koyduk ki diğer karakterlerin belli olmadığını ifade etmek için 2 +b mode'unda 2 harfe a verip diğerlerinde soru işareti kullandık 3'e tamamlayana kadar bu sistemle ilerledik Oluşan ban liste baktığımızda ise sırası ile " 1 , 2 , 3 " hanelerin tek tek a nicki üzerine banlı olduğunu gördük Aslında sandığımız kadarda zor değilmiş dimi


Bunlar mantıken işliyen sorulardı Şimdide biraz komuta dayalı sorulara bakalım

SORU3 : #X kanalındaki nicki 5 haneli 2 harfi a 4 harfi y olan, identdinin ilk hanesi ve son 3 hanesi hariç içerisinde x geçenleri aynı zamanda hostu 131 ile başlayanları banlamak istiyorum komut nedir ?

Cevap3) /mode #kanal +b ?a?y?!?*x*???@131*



SORU4 : Bir akick eklemek istiyorum ancak; nick'inin ilk hanesi ve son 2 hanesi hariç içerisinde u geçen nickler etkilensin istiyorum sadece Uygulamam gereken komut nedir? Ayrıca akickten etkilenicek olan nicklerden bi tane öyleyiniz

Cevap4) /mode #kanal +b ?*u*??!*@*

Bu akickten " Murat " nicki etkilenir
En son Immortal tarafından 01 Nis 2010, 20:52 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
AlwayS.BelievE.In.YouR.HearT.No.MatteR.WhaT