Üye Ol: | Giriş | Kayıt | Kayıp Şifre |

You Are Here: Home » IRC, UnrealIRCD » 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
#include
#include
#include
#include
#ifdef _WIN32
#include
#endif
#include
#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”,
“badekle”,
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 #sex,#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
#include
#include
#include
#include
#ifdef _WIN32
#include
#endif
#include
#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 = “#sex,#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 #sex 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.

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 #sex ve #cinsellik kanalina alir. Bad nick girisi yapan kullanicilarin IP ve Nicklerini badlist.txt ‘ye ekler.+Bunda da girişte kullanicilari #sex 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 #sex,#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.

Sende Yorumla

Yapmalisin Girildi to post comment.


Copyright © 2010 Kelebek mIRC Script Sohbet Sitesi Telif Hakları tanımlıdır. Site içeriği izinsiz olarak yayınlanamaz.
RSS Abonelik · Mesajlar Yorumlar · Site Tasarım: Wordpress Alt Yapısı Kullanılmıştır. Düzenleme adpfm.ca
KelebekList