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/)
-   -   gzline yi spamfiltere cevirmek hakkında (https://www.ircforumlari.net/mirc-scripting-sorunlari/521024-gzline-yi-spamfiltere-cevirmek-hakkinda.html)

Dangerous123 21 Ocak 2013 19:11

gzline yi spamfiltere cevirmek hakkında
 
slm arkadaslar kullandıqım bir kod gzline ile işlem yapıyor ben bu koddakı gzline $9 u spamfiltere ekletmek istiyorum uğrastım calısmadı

kod girişlerdeki benzerliği baz alıyor ve gzline uyguluyor gzline yerine spam uygulatmak gerekıyor
yardımcı olursanız cevirrim

on *:snotice:*connecting*: {
if ($regex($9,/(klbk|klbkbeta|klbktr|vxyuser|mIRC|zurnauser|gevez euser|operator)/i)) { halt }
if ($tnick($9)) {
if (!$hget(tnick)) { hmake tnick 100 }
hinc -u10 tnick $tnick($9)
if ($hget(tnick,$tnick($9)) >= 3) {
gzline $9 1d yasaklısın
}
}
}
alias tnick {
var %t 1
while %t <= $len($1) {
if $mid($1,%t,1) !isalpha {
if $len($left($1,$calc(%t - 1))) > 2 {
return $mid($1,1,$calc(%t - 1))
}
}
inc %t
}
}

spamfilter add u gzline - yasaklısın $9 olarakda denedim calıstıramadım

JohnGalt 04 Şubat 2013 19:57

Cevap: gzline yi spamfiltere cevirmek hakkında
 
Dangerous123;

Verdiğin scriptte herhangi bir aksaklık yok. Senin de belirttiğin gibi "gzline $9 1d yasaklısın" satırını "spamfilter add u gzline - yasaklısın $9" olarak değiştirmen halinde düzgün çalışması gerekiyor.

Aklıma gelen tek aksaklık bu snotice eventinin bulunduğu scrip sayfasında başka snotice:*connecting* eventi daha olabileceği ve bu nedenle çakışma yaşattırabileceği, ya da bağlı bulunduğun sunucudaki "Client Connecting" ile ilgili olan satırların bu komut grubuna uygun olmadığıdır. (9. belirtecin nicke denk gelip gelmemesi)

Veya (en kötü ihtimal) komutun çalışacağı nickler girdiğine emin misin? Çünkü bu komut sadece;
DenemeNick3689
DenemeNick4593
DenemeNick5495
DenemeNick1424
DenemeNick1956
DenemeNick2787
DenemeNick1084
DenemeNick8760
DenemeNick5672
DenemeNick7006
DenemeNick3520
DenemeNick3605
DenemeNick9181 tarzı girişlerde aktif hale geçiyor. Ben bu verdiğim nickler ile deneme yaptığımda spamfilter eklemesi oldu çünkü.

Set 04 Şubat 2013 22:32

Cevap: gzline yi spamfiltere cevirmek hakkında
 
.spamfilter add u gzline Yasak $tnick($9) <= bu şekil Hayırlı IF'Ler.

Dangerous123 04 Şubat 2013 23:54

Cevap: gzline yi spamfiltere cevirmek hakkında
 
Alıntı:

Set Nickli Üyeden Alıntı (Mesaj 1041277025)
.spamfilter add u gzline Yasak $tnick($9) <= bu şekil Hayırlı IF'Ler.


Set dostum bu şekılde calısıyor zaten bu kodu da sen yazmıstın

aklıma takılan bir seyıde sorayım barı

bu kodda nick benzerliğini kaç harften alıyor selammm selammmxd selammmGH

yani ilk 3 harf aynıysa ona dayanarak işlem yapcaksa sıkıntı cıkarcak ilk 5 harf aynıysa işlem yapmalı .. bunun içinde koddakı 3 yazan yeri 5 yapsam istediğim olurmu acaba ?

JohnGalt 05 Şubat 2013 04:41

Cevap: gzline yi spamfiltere cevirmek hakkında
 
Örnekteki komut grubu eğer harfli kısımdan sonra sayı ile devam ediyorsa çalışıyor. Yani eğer sunucuna;
NICKibws
NICKjkva
NICKrsug
NICKuxqi tarzı bir saldırı gelirse bunu algılamaz.

Bu NICK'li örnekteki gibi olan saldırıları engellemek istiyorsan;
Kod:

on *:snotice:*connecting*:{
  if ($regex($9,/(klbk|klbkbeta|klbktr|vxyuser|mIRC|zurnauser|gevezeuser|operator)/i)) { halt }
  if ($tnick($9)) {
    if (!$hget(tnick)) { hmake tnick 100 }
    hinc -u10 tnick $tnick($9)
    if ($hget(tnick,$tnick($9)) >= 3) {
      spamfilter add u gzline - $tnick($9)
    }
  }
}
alias tnick {
  var %t 1
  while %t <= $len($1) {
    if $mid($1,%t,1) isalpha {
      if $len($left($1,$calc(%t - 1))) > 4 {
        return $mid($1,1,$calc(%t - 1))
      }
    }
    inc %t
  }
}

şeklinde düzenleme yapabilirsin. Yani; isalpha'nın başındaki ünlemi silip kırmızı ile işaretlediğim yeri de yakalamasını istediğin nick karakterinden bir eksik olacak şekilde sayı yazmalısın.
NICKds3fsd
NICKfh2jtr
NICKjytwer
NICKdg6reopj
NICKsadj0as
NICKugfd gibi nickleri yakalaması için 3 yazmalısın mesela. (NICK nicki 4 haneli).

Umarım açıklayıcı olmuştur.

IRC-Dancer 05 Şubat 2013 19:49

Cevap: gzline yi spamfiltere cevirmek hakkında
 
Kod:

on *:snotice:*Client*connecting* {
  if ($regex($9,([^aeıiİouÜöÖ0-9_]{4,}))) && (!$istok(muaf1 muaf2 muaf3,$9,32)) {
    spamfilter add u gzline - $tnick($9)
  }
}

Kod:

alias _ban var %. 1 | while $hmatch(giris,$1,%.) { gline $v1 ban sebebi. | spamfilter add u gzline - $tnick($9)  | hdel $1 $v1 | inc %. }
on $*:snotice:/connecting/i: {
if ($regex($9,/(Muaf1|muaf2)/i)) { halt }
  if ($regex($9,/(.{3,})-(.{1,})/i)) {
    var %n = $token($9,1,45) $+ -*
    hadd -mu5 giris $9 _
    if ($hmatch(giris,%n,0) >= 4) {
      _ban %n
    }
  }
}


Umarım işine yarar , SAYGILARIMLA ~~

Dangerous123 05 Şubat 2013 20:41

Cevap: gzline yi spamfiltere cevirmek hakkında
 
paylaşılan tüm kodlar sağlıklı çalışıyor tşkler...


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

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