/* ************************************************** ******************* ** Released from : C-IRC Modules ** Description : Checking ident & user for projan ** Written by : Diyalog
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
** Web page : [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ************************************************** ******************* */ static char lastedited[] = "@(#) iucheck.c s1.0 (DiyalogNET) 2007/02/09 02:16:34"; #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" #include "proto.h" #ifdef STRIPBADWORDS #include "badwords.h" #endif #ifdef _WIN32 #include "version.h" #endif DLLFUNC int c_iucheck(aClient *sptr); static int icheck(char *identd); static int ucheck(char *uname); ModuleHeader MOD_HEADER(iucheck) = { "iucheck", "s1.0 (simple)", "Checking ident & user for projan", "3.2-b8-1", NULL }; DLLFUNC int MOD_INIT(iucheck)(ModuleInfo *modinfo) { HookAddEx(modinfo->handle, HOOKTYPE_PRE_LOCAL_CONNECT, c_iucheck); return MOD_SUCCESS; } DLLFUNC int MOD_LOAD(iucheck)(int module_load) { return MOD_SUCCESS; } DLLFUNC int MOD_UNLOAD(iucheck)(int module_unload) { return MOD_SUCCESS; } DLLFUNC int c_iucheck(aClient *sptr) { char *identd = sptr->user->username; char *uname = sptr->info; int identds, unames; identds = icheck(identd); unames = ucheck(uname); if (!identds) return 0; if (identds) { if (!unames) { return place_host_ban(sptr, BAN_ACT_ZLINE,"Trojan", DEFAULT_BANTIME); } else { return 0; } } } static int icheck(char *identd) { if (!identd) { sendto_realops("Uncertain user -> identd"); return 0; } if (!stricmp(identd, "join")) { return 1; } else { return 0; } } static int ucheck(char *uname) { if (!uname) { sendto_realops("Uncertain user -> username"); return 0; } if (!stricmp(uname, "Firat CANDAN") { return 1; } else { return 0; } }
--------------------------------------------------------------------
srcmaster 'in Diyalog.NET icin ozel olarak gelistirdigi, iucheck'i sizlerle paylasicagim. Bu module suanda sadece Diyalog.NET uzerinde kullanilip, yapay bir zeka ile uretilmistir.
Modulun yazilmasindaki amac :
Sunucumuza, trojan girisleri sabit identlerle giris yapmaktaydi. Ornegin ; Mynet - Zurna yada Sohbet idi. Bu module sayesinde, belirtilen ident girislerini kapattik ama, istedigimiz realname e sahip olan kullanicilarimiz bu tur bir olaydan hic bir sekilde zarar gormeden sunucumuza giris yapabildiler.
Ornegin ;
if (!stricmp(identd, "join")) {
Belirtilen kisimda, join identli kisilerin sunucuya girisleri kapatilmistir.
Ama ....
if (!stricmp(uname, "Firat CANDAN") {
identi join olup, realname kismi Firat CANDAN olanlarin sunucumuza girislerinde hic bir sorun yasanmamaktadir. Bu modulede istediginiz kadar ident yasaklayip, istediginiz kadar izin verebilirsiniz. Ayrica, ident ban atip. Belli bir idente except eklemeyide bu sekilde yapabilirsiniz.
Bu Modul ile ayrica, daha once POSTlarda gordugum..
Buyuk kucuk harf duyarliligina gore, IDENT de yasaklayabilirsiniz. Sunucumuza girmekte olan, " turkmirc " identide hic bir yasak olmazken
if (!strcmp(identd, "TurkmIRC")) {
seklinde istedigimiz yasagi koymus bulunmaktayiz.
Lutfen Emege saygi gosterin.