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)

CoCoRiCo 13 Temmuz 2006 23:43

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
inc degişkene zaman atamak gecicilik kazandırmak için uygun bir yol...
sonuca baktıgınızda zaten
inc -u15 %deger. [ $+ [ Blockdeger ] ] 1
burada mantık
1 sayılmıs zamanlayıcıda degişkende 5 sn den geri saymaya baslamıstır..
if %deger. [ $+ [ Blockdeger ] ] >= 5 {
eger deger 5 e eşitlenmiş ve yükseliyor sa (ki inc saniye ile geri sayar girişler msn olrakda gelebilir if işlemi yapmadan 5 degeride aşabilir..

sonuc olarak 5 degeri bulundugunda zaten işlem sonuca varmıs artık giriş kesilmiştir..

eger daha hassas yapacaksanız korumanızı timer -m kullanırsınız ms (milisecond) 'leride deger tutarsınız..

timer dondurmaz bu işlemin bir cok mantıgı var Hinc | var | timer tip unset
ama sonuc hep aynı en risksiz olan INC dir.

DefauLt 13 Temmuz 2006 23:43

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
Alıntı:

el33t Nickli Üyeden Alıntı
İ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)

Tabii doğru yol olduğu sürece değişiklik güzeldir ama snotice eventi olduğu için timer çok yanlış bir seçim.

if %var == 5 için yanlış demişsin ama burda da yanlışın var. Gereğini de anlatayım sana.

Diyelim 10 adet farklı IP'den 15'er bot girdi.



İlk IP'den giren 10 adet bot için,
5 veya 5'ten büyükse yazdığından dolayı için (if %var >= 5),
5,6,7,8,9,10 sayılı giren botların her birine GLINE komutu gönderilir. Yani bir IP'ye 6 adet GLINE komutu göndermiş oldun.

Sunucu da gönderdiğin komutları sıraya aldığı için (queue kullanan sunucular komut aralarına da extra süre koyar) sen ilk IP ile uğraşırken diğer IP'ler kanallara bile girmiş olacaktır.

Aslında sadece her IP için 5. giren bota GLINE komutu gönderseydin diğerleri de giremeyeceki. 5'ten sonrası için gönderilen komutlar gereksiz kaldı.

NoMercy'nin ilk versionlarında sıkça karşılaştığım bir olaydı. Sonraki versionlarda düzelttiğim bir açıktır bu.

el33t 13 Temmuz 2006 23:45

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
Bana timer kullanınca ne risk alacağımı söyler misin peki?
Eğer bulunduğum kanala ya da servera flood yapıldığında timer geç kalır diye düşünüyorsanız, aynı şekilde /inc de geç kalır. Ben inc yerine timer kullanın demiyorum ama sizin koruma açığı dediğiniz şeyi anlayamadım bir türlü.

el33t 13 Temmuz 2006 23:47

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
DefauLt, koddaki kalınla gösterdiğim yeri görmediğini varsayarak cevap verdiğini düşünüyorum:

Kod:

if ($(%µ,2) >= 5) { unset $(%µ,1) | gline $9 dışarı }
Değişkeni 5 veya üstü olduğunda -ki direk 5 olduğunda- unsetleyeceğini varsayarsak senin dediğin hiç bir zaman olmayacaktır.

LeadeR 13 Temmuz 2006 23:47

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
Hım.. el33t belirttiğim bir örnek'ti aslında ama benim belirtmek istediğim esas konu şu şevketim , snotice event'inde DefauLt 'un görüşüne katılıyorum , timer'i farklılık olarak kullanmışsın güzel , ama snotice pek güzel olmadığı düşüncesindeyim , önemli olan güclü veyahut gücsüz bir pc'de önemli değil , esas önemli olan en hızlı ve en pratik yolları tercih etmek , bu arada farklılık düşünceside güzel ;p

CoCoRiCo 13 Temmuz 2006 23:49

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
basit bir yolla henüz aşan ve giren yok.




*** Notice -- Client connecting on port 1613: HeII_ammk (~java@88.226.7.???)
*** Notice -- Client connecting on port 1613: HeII_cad ([Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...])
*** Notice -- Client connecting on port 1613: Bulut_M_ist ([Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...])
*** Notice -- Client connecting on port 1613: HeII_tkf ([Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...])
*** Notice -- Client connecting on port 1613: HeII_gtk ([Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...])


*** Notice -- Client exiting: HeII_tkf (~java@88.226.7.Nb242=) 10 [You are temporarily banned from this server. [Throttling Connection] - [ID-TRH:534KkA4OC4yMjYuNy4xNzk=]
*** Notice -- Client exiting: HeII_gtk (~java@88.226.7.Nb242=) 10 [You are temporarily banned from this server. [Throttling Connection] - [ID-TRH:534KkA4OC4yMjYuNy4xNzk=]
*** Notice -- Client exiting: HeII_cad (~java@88.226.7.Nb242=) 10 [You are temporarily banned from this server. [Throttling Connection] - [ID-TRH:534KkA4OC4yMjYuNy4xNzk=]
*** Notice -- Client exiting: HeII_ammk (~java@88.226.7.Nb242=) 10 [You are temporarily banned from this server. [Throttling Connection] - [ID-TRH:534KkA4OC4yMjYuNy4xNzk=]
*** Notice -- Client exiting: hayal_et21 (~java@88.226.7.Nb242=) 10 [You are temporarily banned from this server. [Throttling Connection] - [ID-TRH:534KkA4OC4yMjYuNy4xNzk=]

on ^&*:snotice:*: {
$Throt($10)
......
.....
}

alias -l Throt {
$iif(!$window(@clone),window @clone)
inc -u10 %tr. [ $+ [ $+(*@,$gettok($remove($1,$chr(40),$chr(41)),2,64)) ] ] 1
if (%tr. [ $+ [ $+(*@,$gettok($remove($1,$chr(40),$chr(41)),2,64)) ] ] >= 5) {
$iif(!%trh_, set %trh_ 1)
inc %trh_
var %cl $+(*@,$gettok($remove($1,$chr(40),$chr(41)),2,64))
echo -t @clone 5*** -- Trothles from: %cl 4-12 $v1
kline %cl [4Throttling Connection] - $+(,[12ID-TRH:,%trh_,$remove($encode(%cl,m),==)) 30
echo -t @clone 5*** -- Throttles from: %cl 4-12 $v1 4-12 %tr. [ $+ [ $+(*@,$gettok($remove($1,$chr(40),$chr(41)),2,64)) ] ]
unset %tr. [ $+ [ $+(*@,$gettok($remove($1,$chr(40),$chr(41)),2,64)) ] ]
}
}

el33t 13 Temmuz 2006 23:50

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
Hız konusunda timerın daha hassas olduğunda hemfikir olduğumuzu düşünüyorum milisaniyelerle ki önemsenmeyecek derecede.
En pratik dediğine ise burda timer kullanmamın nedeni ise yeni başlayanların DefauLt gibi düşünmeden /inc'i kullanmasaydı yani eğer önceden değişken setlenmişse, %değişkeni arttırma gibi bir if koşulu hiç birinde yok, burda onu anlatmaya çalıştığımı bildiğinizi düşünüyorum. Yani kimse DefauLt'un dediği gibi if !%var { inc -u5 %var } kullanmıyor, sadece inc -u5 %var | if %var == 5 { action } kullanıyorlar ki bunun yanlış olduğunu göstermeye ve anlatmaya çalışıyorum.

edit: imla

CoCoRiCo 13 Temmuz 2006 23:50

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
sonunda degeri sıfırlıyorum modifiye ediyor kline ı ama sorun yok degerin silinme sigortası oluyor (:

CoCoRiCo 13 Temmuz 2006 23:52

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
cok hızlıda yaparsınız sorun hız mı 1 saniyedin 100 de biri kadarlık süre önemsiz.. daha hızlı derseniz ticks kullanırsınız 1000 de bir yaparsınız ama netice de kulanılan yolda timer gereksiz bu bir tex flood olsa sorun yok timer iyi bir yöntem ama girişler için aynı sey söylenemez bence..

DefauLt 13 Temmuz 2006 23:53

Yanıt: Aynı Ip den 4 saniyede 5 giriş Gline
 
Alıntı:

el33t Nickli Üyeden Alıntı
DefauLt, koddaki kalınla gösterdiğim yeri görmediğini varsayarak cevap verdiğini düşünüyorum:

Kod:

if ($(%µ,2) >= 5) { unset $(%µ,1) | gline $9 dışarı }
Değişkeni 5 veya üstü olduğunda -ki direk 5 olduğunda- unsetleyeceğini varsayarsak senin dediğin hiç bir zaman olmayacaktır.

unset bölümünü es geçmişim. Es geçmiş olmama rağmen >= yerine == kullanmak yine daha az yorucu bir işlem olur. Yapılacak sadece bir operator değişikliği.

Neden donmadı mIRC onu da söyleyeyim bari .)

Sadece bir event load ederde denersen donmaz. Onlarca işlemin arasında timer açtır bir de öyle dene.


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

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