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/)
-   Hazır_kodlar (https://www.ircforumlari.net/hazir_kodlar/)
-   -   Badnick Korumasi (https://www.ircforumlari.net/hazir_kodlar/316624-badnick-korumasi.html)

toXic 15 Şubat 2010 14:26

Badnick Korumasi
 
Services ile yaptiğim basit bir işlemlerden sonra isteklerin rahatsizlik boyutuna ulasmasi nedeni ile daha böyle bir modulu yayinlama gereği duydum, zaten basit bir modul, badlisti regex olarak inceler, yani nick eklediginizde nick38823 gibi nickleride kapsar..


Badnicklerin giriste Nicklerini degiserek uyari verir..


Kod:

#include "config.h"
#include "struct.h"
#include "common.h"
#include "sys.h"
#include "numeric.h"
#include "msg.h"
#include "channel.h"
#include <time.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef _WIN32
#include <io.h>
#endif
#include <fcntl.h>
#include "h.h"
#ifdef _WIN32
#include "version.h"
#endif
 
static Hook *Connick;
static int m_badnick(aClient *, aChannel *);
 
ModuleHeader MOD_HEADER(m_badnickname)
= {
"m_badnick",
"Badnick degistirme. (toXic)",
"badnickleri degistirme Modulu(toXic)",
"3.2-b8-1",
NULL
};
 
DLLFUNC int MOD_INIT(m_badnickname)(ModuleInfo *modinfo)
{
Connick = HookAddEx(modinfo->handle, HOOKTYPE_LOCAL_CONNECT, m_badnick);
return MOD_SUCCESS;
}
DLLFUNC int MOD_LOAD(m_badnickname)(int module_load)
{
return MOD_SUCCESS;
}
DLLFUNC int MOD_UNLOAD(m_badnickname)(int module_unload)
{
return MOD_SUCCESS;
}
 
static char *badlistesi[] = {
"ibo",
"***olog",
NULL
};
static int bad_listesi(char *nick)
{
char **blist;
for (blist=badlistesi; *blist; *blist++)
{
if (strstr(nick, *blist))
return 1;
}
return 0;
}
static int m_badnick(aClient *sptr, aChannel *chptr) {
if (bad_listesi(sptr->name)) {
char guestnick[NICKLEN];
char *ibo[3];
aChannel *cptr;
snprintf(guestnick, NICKLEN, "KelebekGenTR%d", getrandom32());
while(find_client(guestnick, (aClient *)NULL))
{
snprintf(guestnick, NICKLEN, "KelebekGenTR%d", getrandom32());
}
#define Kontrol "#Badnick"
#define aciklama1 "Kullanmis oldugunuz nick sakincalidir."
#define aciklama2 "Bu Nedenle, Nickiniz değiştirilmiştir."
#define aciklama3 "Nickinizi Uygun Bir sekilde \2/Nick Yeninick\2 Komutu ile değiştirebilirsiniz."
 
ibo[0] = sptr->name;
ibo[1] = guestnick;
ibo[2] = NULL;
do_cmd(sptr, sptr, "NICK", 2, ibo);
sendto_one(sptr, ":BADBOY NOTICE %s :%s", sptr->name, aciklama1);
sendto_one(sptr, ":BADBOY NOTICE %s :%s", sptr->name, aciklama2);
sendto_one(sptr, ":BADBOY NOTICE %s :%s", sptr->name, aciklama3);
return 0;
}
}

Diğeri ise, Badnickler, sunucuya girince, normal kanallara giriyor, bunlara özel bir kanalda ekledim #***,#cinsellik vs..

Kod:


#include "config.h"
#include "struct.h"
#include "common.h"
#include "sys.h"
#include "numeric.h"
#include "msg.h"
#include "channel.h"
#include <time.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef _WIN32
#include <io.h>
#endif
#include <fcntl.h>
#include "h.h"
#ifdef _WIN32
#include "version.h"
#endif
 
static Hook *Connick;
static int m_badnick(aClient *, aChannel *);
 
ModuleHeader MOD_HEADER(m_badnickname)
= {
        "m_badnick",
 "Badnick Korumasi (toXic)",
"badnick Security(toXic)",
 "3.2-b8-1",
NULL
};
 
DLLFUNC int MOD_INIT(m_badnickname)(ModuleInfo *modinfo)
{
  Connick = HookAddEx(modinfo->handle, HOOKTYPE_LOCAL_CONNECT, m_badnick);
  return MOD_SUCCESS;
}
DLLFUNC int MOD_LOAD(m_badnickname)(int module_load)
{
  return MOD_SUCCESS;
}
DLLFUNC int MOD_UNLOAD(m_badnickname)(int module_unload)
{
  return MOD_SUCCESS;
}
 
static char *badlistesi[] = {
  "ibo",
  "toxic",
  NULL
};
static int bad_listesi(char *nick)
 {
 char **blist;
 for (blist=badlistesi; *blist; *blist++)
 {
 if (strstr(nick, *blist))
  return 1;
  }
  return 0;
}
static int m_badnick(aClient *sptr, aChannel *chptr) {
char *kanal = "#***,#cinsellik";
char *i[3], channels[512];
#define Kontrol  "#Badnick"
#define aciklama1 "Kullanmis oldugunuz nick sakincalidir."
#define aciklama2 "Bu Nedenle,  Cinsellik Kanalina ALİNİYORSUNZUZ"
#define aciklama3 "Diger Kanallara girmek icin, NİCKİNİZİ Uygun bir hale getiriniz."
 
if (bad_listesi(sptr->name)) {
if ((chptr = find_channel(Kontrol, NullChn)) != NullChn)
sendto_channel_butone(&me, &me, chptr, ":Badnick  PRIVMSG %s :  Badnick Girisi tespit edildi. Nick: \2%s\2 Cinsellik Kanalina Alindi..", Kontrol, sptr->name);
sendto_one(sptr, ":BADBOY NOTICE %s :%s", sptr->name, aciklama1);
sendto_one(sptr, ":BADBOY NOTICE %s :%s", sptr->name, aciklama2);
sendto_one(sptr, ":BADBOY NOTICE %s :%s", sptr->name, aciklama3);
/* Dosyaya yazdirma.. */
 time_t irc_time;
                struct tm tdate;
                irc_time = time(NULL);
                tdate = *localtime(&irc_time);
                FILE * pFile;
                pFile = fopen ("badlog.txt", "a");
                fprintf (pFile, "Tarih: %02d-%02d-%02d Saat: %02d:%02d Nick: %s  IP: %s \n", tdate.tm_mday, tdate.tm_mon + 1,
                tdate.tm_year - 100, tdate.tm_hour, tdate.tm_min, sptr->name,  sptr->user->realhost);
                fclose (pFile);
                            sendto_realops("BADNAME: %s nin  nicki badnick olarak kaydedilmisti. Gereken yapildi.",
                        sptr->name);
strlcpy(channels, kanal, sizeof(channels));
i[0] = sptr->name;
i[1]  = channels;
i[2] = NULL;
 do_cmd(sptr, sptr, "JOIN", 2, i);
do_cmd(sptr, sptr, "PART", 1, i);
 }
return 0;
}

Bunda da girişte kullanicilari #*** ve #cinsellik kanalina alir. Bad nick girisi yapan kullanicilarin IP ve Nicklerini badlist.txt 'ye ekler. Ayrica, OPERSLERE Özel mesaj atar statuse..
Bununla birlikte, badnickleri #Badnick kanalinda gösterir.


Alıntı:

Tarih: 15-02-10 Saat: 06:25 Nick: XX IP: 85.105.110.32
Tarih: 15-02-10 Saat: 06:29 Nick: X IP: 85.105.110.32
Tarih: 15-02-10 Saat: 06:29 Nick: X IP: 85.105.110.32
Tarih: 15-02-10 Saat: 06:31 Nick: X IP: 85.105.110.32
Tarih: 15-02-10 Saat: 06:31 Nick: XX IP: 88.234.45.218
Tarih: 15-02-10 Saat: 06:32 Nick: X IP: 85.105.110.32
Tarih: 15-02-10 Saat: 06:32 Nick: X IP: 85.105.110.32
Tarih: 15-02-10 Saat: 06:32 Nick: X IP: 85.105.110.32
Tarih: 15-02-10 Saat: 06:42 Nick: XX IP: 85.105.110.32
Tarih: 15-02-10 Saat: 06:43 Nick: XX IP: 85.105.110.32
Tarih: 15-02-10 Saat: 06:43 Nick: XX IP: 85.105.110.32
Tarih: 15-02-10 Saat: 06:44 Nick: XX IP: 85.105.110.32
Tarih: 15-02-10 Saat: 06:45 Nick: XX IP: 85.105.110.32
badnickleri

static char *badlistesi[] = {
"ibo",
"toxic",
NULL
};

buraya ekleyeceksiniz alt alta;
"ibo",
"hasan",
"sakir,"
"osman",

vs..

-Bunda da girişte kullanicilari #*** ve #cinsellik kanalina alir. Bad nick girisi yapan kullanicilarin IP ve Nicklerini badlist.txt 'ye ekler.+Bunda da girişte kullanicilari #*** ve #cinsellik kanalina alir. Bad nick girisi yapan kullanicilarin IP ve Nicklerini badlist.txt 'ye ekler. Ayrica, OPERSLERE Özel mesaj atar statuse..
Bununla birlikte, badnickleri #Badnick kanalinda gösterir.

sunucuya girince, normal kanallara giriyor, bunlara özel bir kanalda ekledim #***,#cinsellik vs..

Geliştirmesi size kalmis, örneğin ben dosyadan okutmali kullaniyorum.. Nasıl söyle yaparim böyle yaparim demek yerine araştirirsaniz böyle demenize gerek kalmaz..

iyi calismalar.

SaLTaNaT 15 Şubat 2010 14:35

Cevap: Badnick Korumasi
 
Güzel calısma // tox ;)

Abyss 16 Şubat 2010 12:06

Cevap: Badnick Korumasi
 
hmm evet güzel olmuş geliştiirp zenginleştirdikçe dahada verimli olacaktır ve birçok kullanıcın istediği bi kodlama ortaya çıkacağına eminim.

Emeğine Sağlık toXic 'm.

FBI- 17 Şubat 2010 20:48

Cevap: Badnick Korumasi
 
Ortak süper gidiyosun.. İyi bi çalışma kardeşim.. başarılarının devamnı dilerim..

KaW 24 Aralık 2010 05:27

Cevap: Badnick Korumasi
 
+1 Güzel birseyler cıkarmissin. Emeğine Sağlık.

toXic 17 Mayıs 2011 19:29

Cevap: Badnick Korumasi
 
Daha gelişmişini yayinladiğimdan, konu sabitlikten alinmiştir..


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

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net