搜索
查看: 6684|回复: 23

[AMXX 带源码] 有效防止 假人攻击的插件

[复制链接]
发表于 2013-2-8 02:18:56 | 显示全部楼层 |阅读模式 来自 山东淄博
#include <amxmodx>
#include <orpheu>
#define PLUGIN "Anti flood"
#define VERSION "1.0"
#define AUTHOR "kanagava"

new time_last_conn
new ip_old[256]
new ip_warn[256]
new Msg[256]
new OrpheuHook:handlePrintf
new warn
new old_time
new registered
public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    server_cmd("sv_logecho 1")
    server_cmd("log on")
    set_task(5.0, "regfunctions")  
}

public regfunctions()
{
    OrpheuRegisterHook(OrpheuGetFunction("SV_ConnectClient"),"OnSV_ConnectClientPre", OrpheuHookPre)
    OrpheuRegisterHook(OrpheuGetFunction("SV_ConnectClient"),"OnSV_ConnectClientPost", OrpheuHookPost)
}

public OrpheuHookReturn:OnSV_ConnectClientPre()
{
        registered=0
        if(get_systime()-old_time <= 2)
   {
                handlePrintf = OrpheuRegisterHook( OrpheuGetFunction( "Con_Printf" ), "Con_Printf" , OrpheuHookPre);
                registered=1
   }
   old_time=get_systime()
   return OrpheuIgnored;
}


public OrpheuHookReturn:OnSV_ConnectClientPost()
{
   if(registered)
   {
                OrpheuUnregisterHook(handlePrintf)
        }
   return OrpheuIgnored;
}



public OrpheuHookReturn:Con_Printf(const a[], const message[] )
{
        registered=1
    if (containi(message,"^" connected, address ^"")!=-1)
    {
        new len=255
        new temp_right[256],temp_left[256],conn_ip[256]
        formatex( Msg,charsmax( Msg ),"%s", message );
        split(Msg, temp_left, len, temp_right, len, "^" connected, address ^"")
        strtok(temp_right, conn_ip, len, temp_right, len, ':')
            warn=warn+1
            if(warn>2 && equal(conn_ip,ip_warn))
            {
                log_amx("[NOFLOOD] Connection flood detected from ip %s",ip_old)
                server_cmd("addip 120.0 %s",ip_old)
            }
            ip_warn=conn_ip
        }
        else
        {
            warn=0
        }
        ip_old=conn_ip
        time_last_conn=get_systime()
    }
    return OrpheuIgnored;
}

注意需要 那个 模块 ,个别 代码可能 需要大师 改改
 楼主| 发表于 2013-2-8 02:21:12 | 显示全部楼层 来自 山东淄博
还有3个amxx  无源码,请大家 享用

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
回复

使用道具 举报

发表于 2013-2-8 06:13:27 | 显示全部楼层 来自 广东梅州
假人攻击?说白了也就是客户端向服务器端发送一个数据,服务器端就会返回一个数据。客户端不断发送,服务器端就得不断返回。跟流量攻击差不多吧
回复

使用道具 举报

发表于 2013-2-8 06:16:07 | 显示全部楼层 来自 广东梅州
服务器流量够大的话,假人攻击应该也没那么容易吧。服务器流量不够,理论上任何网络游戏也容易被流量攻击所击破吧。
回复

使用道具 举报

发表于 2013-2-8 13:26:58 | 显示全部楼层 来自 广西梧州
测试都无效
回复

使用道具 举报

发表于 2013-2-8 14:23:35 | 显示全部楼层 来自 上海
LZ这种回复显示 非常让人反感,发的都是些没用的东西
回复

使用道具 举报

发表于 2013-2-8 22:12:32 | 显示全部楼层 来自 安徽
这又是什么东东哦·
回复

使用道具 举报

发表于 2013-2-9 13:17:50 | 显示全部楼层 来自 广东汕头
打算打色萨达丰东股份
回复

使用道具 举报

发表于 2013-2-11 12:41:45 | 显示全部楼层 来自 吉林松原
路过的   
   错误信息关闭您输入的汉字小于5个,被评定为灌水!
3 秒后窗口关闭确定
  
   
回复

使用道具 举报

发表于 2013-2-14 13:01:48 | 显示全部楼层 来自 黑龙江
看看能不能用!!!!!!!!!
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表