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/)
-   -   Aynı IPden 4 saniyede 5 girişe gline (https://www.ircforumlari.net/mirc-scripting-sorunlari/20788-ayn305-ipden-4-saniyede-5-giri351e-gline.html)

BlueFan 12 Temmuz 2006 23:57

Aynı IPden 4 saniyede 5 girişe gline
 
Ya Sock olarak var ama ben kendime eklemek istiyorum

Aynı Ip den 4 saniyede 5 kişi girien bot/user'e Gline atılmasını istiyorum denedim ama 5 saniyede giren son kişiye atıyor
aynı Ip den girene atmak istiyorum ne yapmam gerekir yardım cı olurmusunuz acaba ?:(

Kod:

on * notice:*client connecting*: {
inc -u5 %connect [ $+ [ $mid($gettok($1-,2,64),1,14) ] ]
set $+(%,$mid($gettok($1-,2,64),1,14)) $addtok($+(%,$mid($gettok($1-,2,64),1,14)),$9,$chr(33))
if %connect [ $+ [ $mid($gettok($1-,2,64),1,14) ] ] > 3 {
unset %connect [ $+ [ $mid($gettok($1-,2,64),1,14) ] ]
var %a $numtok($mid($gettok($1-,2,64),1,14),33)
while %a {
kline $gettok($mid($gettok($1-,2,64),1,14),%a,33) Connection Flood Tespit Edildi..
dec %a
}
}
}

Maelstrom böyle bi kod hazırlamıştı ama Sanırsam Çalışmıyor Yardımcı olurmusuuz :(

•(10:46:58)• -IRC.**.Com- *** Notice -- Client connecting on port 6667: berivan ([Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]) [clients]
Girişler böyle 85.99.145.23 Bu Ip adresinden 5 saniye içinde 5 kişi girdiğinde Gline Atmasını istiyorum fakat 6. saniyede atılmasın istiyorum ne yapmam gerekir :(

el33t 13 Temmuz 2006 22:23

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
5 saniye içinde 5 ya da daha fazla aynı ipden kişi girerse gline <son giren kişinin nicki> dışarı komutu uygulanır, nick yerine *@ip yazmak istiyorsan aşağıda kırmızıyla gösterdiğim kısımdaki $9'u $+(*@,$left($gettok($10,2,64),-1)) olarak değiştirmelisin. İşte kod:

Kod:

on *:snotice:*client connecting*:{
  var %µ = $+(%,flood.,$left($gettok($10,2,64),-1))
  inc $(%µ,1)
  if (!$timer($gettok(%µ,1,37))) { $+(.timer,$gettok(%µ,1,37)) 1 5 unset $(%µ,1) }
  if ($(%µ,2) >= 5) { unset $(%µ,1) | gline $9 dışarı }
}

Umarım işine yarar...

DefauLt 13 Temmuz 2006 23:01

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
Timer ile unset ettirmek yerine inc -u5 daha mantıklı olurdu. Eğer timer'ın amacı 5'den sonraki gelecek girişlerde flood ile takılmamaksa, kod inc -u5 ile beraber if ($(%µ,2) == 5) olarak düzeltilirse daha güzel bir şekilde çalışacaktır.

el33t 13 Temmuz 2006 23:07

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
Yanlış düşünüyorsun.

Diyelim ki 127.0.0.1 ipsinden bir kişi girdi ve %flood.127.0.0.1 diye bir variable oluşturuldu ve 5 saniye sonra silinmesi için ayarladık, yani inc -u5.
Örneğin 2 saniye sonra 127.0.0.1'den bir kişi daha girdi ve normalde 3 saniye sonra unsetlenmesi gereken değişken inc -u5 yüzünden tekrar 5 saniye sonra unsetlenecek. Bu değişken 5 saniyeye sonra silinmeye ayarlanmışken 4. saniyede aynı ipden bir kişi daha girdiğinde tekrar 5 saniye daha uzayacak onun silinmesi yani 5 saniyede 3 ip girince çalışmasını düşündüğümüz kod 11 saniyede 3 aynı ip girince de çalışacak. Değil mi?

Eminim şimdi neden timer kullandığımı anlamışsındır.

CoCoRiCo 13 Temmuz 2006 23:16

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
(: INC'inmiş bu codelar

DefauLt 13 Temmuz 2006 23:21

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
Yok sanırım sen beni yanlış anladın.

Kod:

if (!$timer($gettok(%µ,1,37))) { $+(.timer,$gettok(%µ,1,37)) 1 5 unset $(%µ,1) }//yeni süreç
Timer aktif değilse (unset edilmişse) yeni bir 5 saniyelik süreç başlatıyorsun.

Yani inc -u5 ile başlatılan işlemin ardından;

Kod:

if !%var { inc -u5 %var } //yeni süreç

daha tiz bir mantık ve daha az yorucu bir işlem.

LeadeR 13 Temmuz 2006 23:28

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
Mantıklı düşünürsek , her ip üzerine bir timer acılacak doğal olarak 30 tane ip girmiş olsa bile 30 timer bir mirc'i kasmaya hatta kitlemeye yetecektir. Ve neticesinde çok daha fazla yorucu bir işlem olacaktır.

el33t 13 Temmuz 2006 23:29

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
İlk mesajında timerın amacı 5den sonra gelecek girişlerde flood ile takılmamaksa, inc ile beraber if ($(%µ,2) == 5) olarak düzeltilirse daha güzel şekilde çalışacaktır dediğin için ben sana kodun mantığını anlatmıştım ama ikinci mesajında if ($(%µ,2) == 5) gibi bir şey yok ama 2. mesajındaki gibi timer yerine inc'de kullanılabilir ki fark olacağını sanmıyorum ama birince %değişkenin olup olmadığını kontrol etmezsek dediğim gibi hatalar olacağı için ben timer kullandım, %değişken de kullanılabilirdi ama biraz değişiklik iyidir doğru olduğu sürece. Demek istediğim if !%var ile if %var == 5 aynı şey değil, orda yanlışın var sadece.

edit: LeadeR, 16mb ramli, pII 333mhzlik bilgisayarla internete bağlanıp chat yapmıyorsan mIRC'nin kilitlenmesi zor.
edit:: Denemek için şu an 175 tane timer açtım ama mIRCm de bir değişiklik olmadı. (intel centrino m processor 1.60GHz 256mb ram)

DefauLt 13 Temmuz 2006 23:34

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
Elbette. snotice gibi bir event'ta her bağlanan IP için bir timer açılması korumanın bir açığı olarak kalır. Korumalarda timer kullanılacaksa bile ancak milisaniye işlemleri için kullanılır. Onun da gerekeceği bir koruma düzeneği yok.

el33t 13 Temmuz 2006 23:40

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
DefauLt, Koruma açığıyla neyi kastediyorsun?


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

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