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/)
-   Unreal IRCd (https://www.ircforumlari.net/unreal-ircd/)
-   -   Kayıtsız nicklere özel karekter yasaklama modülü.. (https://www.ircforumlari.net/unreal-ircd/178117-kayitsiz-nicklere-ozel-karekter-yasaklama-modulu.html)

lordsulu 04 Haziran 2009 09:22

Cevap: Kayıtsız nicklere özel karekter yasaklama modülü..
 
nası yapcaz ya o zaman onuda deyiversen :)

grineX 04 Haziran 2009 13:22

Cevap: Kayıtsız nicklere özel karekter yasaklama modülü..
 
Kendi sunucumda aralara karekterler eklenerek yapılan saldırıları önlemenin yöntemini yine ircforumlarında paylaşılan bir modüle ile çözdüm.. Modül orjinalde helper ve operleri muaf tuttuğu için bunu dahada genişleterek +z modunu alan kullanıcılar ve kayıtlı rumuzları ekledim.. Genel olarak sunucuya bu tarz saldırı yapan nickler kayıtsız olduğu için kayıtlı kullanıcıların zarar görmesini engellemek için onları muaf tuttum.. Böylece sunucu üzerinde kayıtlı durumda olan oyun botları vb hiçbir sistem bu modülden etkilenmiyor.Umarım birçok arkadaşımızın işini görür.

case '$':
case '*':
case '~':
case '/':
case '{':
case '}':
case '`':
case '|':
case '<':
case '>':
case '^':
case '+':
case ';':
case '£':
case '%':
case '_':


bölümünden yasaklanmasını istemediğiniz karekterleri silebilirsiniz veya yeni yasaklı karekterler ekleyebilirsiniz..



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 STRIPBADWORDS
#include "badwords.h"
#endif
#ifdef _WIN32
#include "version.h"
#endif
 
#define Module    "m_illegal"
#define Aciklama  "illegal Karakter Korumasi By EceLMeriC"
#define Unversion "3.2-b8-1"
 
static Hook *KullaniciOzeli, *KanalGeneli;
static char *kullanici_ozeli(aClient *, aClient *, aClient *, char *, int);
static char *kanal_geneli(aClient *, aChannel *, aClient *, char *, int);
 
ModuleHeader MOD_HEADER(m_illegal)
 = {
    Module,
    Aciklama,
    Aciklama,
    Unversion,
    NULL
};
 
DLLFUNC int MOD_INIT(m_illegal)(ModuleInfo *modinfo)
{
 
 KullaniciOzeli  = HookAddPCharEx(modinfo->handle, HOOKTYPE_USERMSG, kullanici_ozeli);
 KanalGeneli      = HookAddPCharEx(modinfo->handle, HOOKTYPE_CHANMSG, kanal_geneli);
 
 return MOD_SUCCESS;
}
 
DLLFUNC int MOD_LOAD(m_illegal)(int module_load)
{
 return MOD_SUCCESS;
}
 
DLLFUNC int MOD_UNLOAD(m_illegal)(int module_unload)
{
 return MOD_SUCCESS;
}
 
static char *illegal_karakter(char *eco)
{
 
char *list;
 
for (list = eco; *list; *list++)
 
switch(*list) {
    case '$':
    case '*':
    case '~':
    case '/':
    case '{':
    case '}':
    case '`':
    case '|':
    case '<':
    case '>':
    case '^':
    case '+':
    case ';':
    case '£':
    case '%':
    case '_':
  return eco;
 }
}
 
static char *kullanici_ozeli(aClient *sptr, aClient *cptr, aClient *ilgl, char *eco, int notice)
{
  if (IsOper(sptr) || IsHelpOp(sptr) || IsARegNick(sptr) || IsULine(sptr) || IsServer(sptr))
return eco;
  if (illegal_karakter(eco)) {
  sendto_one(sptr, ":%s NOTICE %s :Kullanici Ozeli, illagal Karakter Kullanimina Kapalidir.", me.name, sptr->name);
  return 0;
}
  return eco;
}
static char *kanal_geneli(aClient *sptr, aChannel *chptr, aClient *ilgl, char *eco, int notice)
{
if (IsOper(sptr) || IsHelpOp(sptr) || IsARegNick(sptr) || IsULine(sptr) || IsServer(sptr))
  return eco;
  if (illegal_karakter(eco)) {
  sendto_one(sptr, ":%s NOTICE %s :Kanal Geneli, illagal Karakter Kullanimina Kapalidir.", me.name, sptr->name);
  return 0;
}
  return eco;
}


Not: Modülün kodlanması ile ilgim yoktur.. Sadece IsARegNick(sptr) || IsULine(sptr) || IsServer(sptr)) satırını ben ekledim :)

gözüm arama yaparsan görürsün bu konu daha önceden kayıtLı bir konu TechnicaL arkadaşımız açmış bu konuyu.

RedLine 27 Ekim 2009 23:15

Cevap: Kayıtsız nicklere özel karekter yasaklama modülü..
 
Bu modülün daha sağlıklısı uzman bir biçimde bir gün yazılır umarım çünkü bazen saçma sapan şeyler de filtrelenip karşı tarafa ulaşmayabiliyor.
Sky-Dancer duy sesimi :)

BehroozWolf 29 Ekim 2009 01:58

Cevap: Kayıtsız nicklere özel karekter yasaklama modülü..
 
Sky-Dancer tarafından yazılan modül. Modül kısa bir süre içerisinde yazıldığından, tam olarak test etme imkanı olmadı. Şahsen benimde elimde hesap yok deneyemiyorum. Kuran birisi, çalışıp/çalışmadığına dair bilgi verirse sevinirim.

Kimin hangi karakteri kullandığını görmek isteyeceğiniz kanalı
Kod:

#define KANAL      "#Opers"
buradan düzeltebilirsiniz.

Engellenecek karakterleri
Kod:

char *Engellenecekler = "$*~/{}`|<>^+;£%_:#";
buradan ayarlayabilirsiniz.


[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

RedLine 29 Ekim 2009 13:21

Cevap: Kayıtsız nicklere özel karekter yasaklama modülü..
 
Module kurulup aktif edilmiş herhangi bir sorunla karşılaşılmamıştır.
Sorunsuz çalışmaktadır isteyen arkadaşlar rahatlıkla kurabilirler.


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

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