IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   Belirlediğim Realnameler dısındakilere ban (https://www.ircforumlari.net/mirc-scripting-sorunlari/38157-belirledigim-realnameler-disindakilere-ban.html)

Hayat 18 Eylül 2007 22:58

Belirlediğim Realnameler dısındakilere ban
 
Arkadaslar Selam daha önce tasarlamış oldugum oper scriptime bi çok güvenlik koruması eklemiştim fakat uzun zamandır düşünüpte bi türlü faaliyete geçiremediğim bi koruma sistemi vardı ve bu konuda çok tecrübeli olmadıgım için bi fikir yürütemedim. istediğim şu on connect eventini kullanarak belirlenen 5 - 10 sabit realname dısındaki tüm realnameleri kullananlara zline atılacak. Yani yapmak istediğim sunucum düz mIRc'den girişe açık olmadıgı için başka scriptlere gelen yada farklı realnameler kullanan saldırganları dışarı çıkarmak yardımcı olabilirmisiniz ?

L4roXyL 19 Eylül 2007 00:18

Cevap: Belirlediğim Realnameler dısındakilere ban
 
Şimdi hayat'cım madem kendin yazıyorsun yardımcı olayım sana ve mantığı anlatayım.
Client Connecting yani girişte nick'e who/whois vb çektirirsin.
Ben örnek olarak who çektim.
Biliyorsunki who sorgulamasında, sorgulanan nick'in gerçek ismi gözükmektedir.
Bu gerçek isim $9 'a denk geliyor.
Tabi isimin içerisinde boşluk olabilme ihtimali yüksek olduğu için, $9- yapıcaksın.
Yani kısaca kod şöyle oluyor;
on *:snotice:*Client conn*: { .enable #x | .who $9 }
#x off
raw *:* { if $numeric == 352 { if korumadaki-isim1 iswm $9- || korumadaki-isim2 iswm $9- { halt } | else { gline $6 Dışarı | halt } } | if $numeric == 315 { .disable #x | halt } }
#x end


Mantık bu ve kodede işini görecektir.
||(veya) ayracı ile çuğaltabilirsin.

Hayat 22 Eylül 2007 20:51

Cevap: Belirlediğim Realnameler dısındakilere ban
 
Yapamadım :)

L4roXyL 22 Eylül 2007 21:33

Cevap: Belirlediğim Realnameler dısındakilere ban
 
Şimdi; iswm mantığı şudur;
//echo -a $iif(hayat iswm hayat,evet,hayır)
Bu evet olarak dönecektir.
//echo -a $iif(hayat iswm hayat ne güzel,evet,hayır)
Bu'da hayır olarak dönecektir.
//echo -a $iif(*hayat* iswm asdahayatasaa,evet,hayır)
Buda evet olarak dönecektir.

Şöyle açıklıyayım;
if (Hayat* iswm text) { işlev } : text bölümünde hayat kelimesi ile başlıyan veri varsa, işlev yap.
if (*Hayat iswm text) { işlev } : text bölümünde hayat kelimesi ile biten veri varsa, işlev yap.
if (*Hayat* iswm text) { işlev } : text bölümünün içinde hayat kelimesi geçiyorsa, işlev yap.

Yani biraz'da wildcard bilgini kullanman lazım.
Aksi taktirde kode'de sorun yok.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 07:04.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk