[Pedido] Proteзгo contra divulguer IP.
#1

Bom Dia.

Estou com um probleminha no meu servidor, na qual alguns baderneiros com falta de rola entram para divulgar seus servidores.
Alguйm teria por favor, algo para impedir que seja divulgado IP's no chat? Exemplo, impedir o nъmero de carбcteres em forma de IP, algo que funcione. Aguardo respostas, agradeзo desde jб.
Reply
#2

achei isso e funciono aqui

pawn Код:
if(strfind(text, ":7777", true) != -1 || strfind(text, ":7780", true) != -1 || strfind(text, ":7781", true) != -1 || strfind(text, ":7880", true) != -1 || strfind(text, ":7700", true) != -1 || strfind(text, ": 7 7 7 7", true) != -1
    || strfind(text, ":  8888", true) != -1 ||strfind(text, ": 8 8 8 8", true) != -1 || strfind(text, ": 8888", true) != -1 || strfind(text, ":8888", true) != -1 || strfind(text, ":  8  8  8  8", true) != -1 || strfind(text, ";8888", true) != -1 || strfind(text, ": 7777", true) != -1) {
        SendClientMessage(playerid,Vermelho,"* | BANIDO | Vocк foi banido(a) por divulgar um servidor.");
        Ban(playerid);
        return 0;
    }
Reply
#3

Quote:
Originally Posted by Standby
Посмотреть сообщение
achei isso e funciono aqui

pawn Код:
if(strfind(text, ":7777", true) != -1 || strfind(text, ":7780", true) != -1 || strfind(text, ":7781", true) != -1 || strfind(text, ":7880", true) != -1 || strfind(text, ":7700", true) != -1 || strfind(text, ": 7 7 7 7", true) != -1
    || strfind(text, ":  8888", true) != -1 ||strfind(text, ": 8 8 8 8", true) != -1 || strfind(text, ": 8888", true) != -1 || strfind(text, ":8888", true) != -1 || strfind(text, ":  8  8  8  8", true) != -1 || strfind(text, ";8888", true) != -1 || strfind(text, ": 7777", true) != -1) {
        SendClientMessage(playerid,Vermelho,"* | BANIDO | Vocк foi banido(a) por divulgar um servidor.");
        Ban(playerid);
        return 0;
    }
Obrigado, irei testar.
Reply
#4

pawn Код:
#include <a_samp>

#define kIP1 "192."
#define kIP2 "216."
#define kIP3 "255."
//e coloca todos os que quiser

new
    Jogador[MAX_PLAYER_NAME],
    sStringFrm[128];

public OnPlayerText(playerid, text[])
{
    if(strfind(text, kIP1, true) != -1 || strfind(text, kIP2, true) != -1 || strfind(text, kIP3, true) != -1)
    {
        GetPlayerName(playerid, Jogador, sizeof(Jogador));
        format(sStringFrm, sizeof(sStringFrm), "%s tentou divulgar um Ip. IP: %s", Jogador, text);
        for(new x = 0; x <= GetMaxPlayers(); x++)
        {
            if(IsPlayerAdmin(x) && IsPlayerConnected(x))
            {
                SendClientMessage(x, 0xFFF000AA, sStringFrm);
                SendClientMessage(x, 0xFFF000AA, "Tome providкncias para isto nгo voltar a acontecer!");
            }
        }
        return false;
    }
    return true;
}
http://pastebin.com/yvGHTgyj

Antes de postar tive o cuidado de testar. ESTБ FUNCIONAL. (:
Reply
#5

Tbm tava querendo um anti divulgar vou testar o do Knight97
Reply
#6

Melhor..

pawn Код:
public OnPlayerText ( playerid, text[])
{
    static cell [ 120 ], Nome [ 20+1 ] ;

    new sizes_s = strlen(text) ;
    new cont = 0;
    for (new i = 0 ; i <= sizes_s; i++) if ((text[ i ] >= 47) && (text[ i ] <= 58)) cont++;
    GetPlayerName ( playerid, Nome, 21 ) ;
    if (cont >= 8 && cont <= 16)
    {
        for (new xs = 0; xs <= sizes_s; xs++) if((text[ xs ] == 46) || (text[ xs ] == 58))
        {
            Kick ( playerid ) ;
            return false;
        }
    }
    return 1;
}
By Bruno
Reply
#7

[QUOTE=iSmirnoff;2599641]Melhor..

pawn Код:
format ( cell, 120, "[ ANTI DIVULGUER ]: ID:[%d] %s Tentou divulgar este IP: [%s]", playerid, Nome, text ) ;
SendClientMessageToAll ( -1, cell ) ;
Nгo sei se foi intencional, mas nгo tem lуgica usar um anti-divulguer, caso usar este mйtodo.
Reply
#8

[quote=iCasTiel;2599971]
Quote:
Originally Posted by iSmirnoff
Посмотреть сообщение
Melhor..

pawn Код:
format ( cell, 120, "[ ANTI DIVULGUER ]: ID:[%d] %s Tentou divulgar este IP: [%s]", playerid, Nome, text ) ;
SendClientMessageToAll ( -1, cell ) ;
Nгo sei se foi intencional, mas nгo tem lуgica usar um anti-divulguer, caso usar este mйtodo.
й que tipo

isso dae ta no meu game mode, ai em vez de SendClientMessageToAll, era uma callback sу para os admins ver rs.
Reply
#9

Simples, Pratico e funcional.

pawn Код:
#define MAX_SPAM 10

new IP[MAX_SPAM][] = // Vocк pode ir adicionando as faixas conforme sua necessнdade, lembrando que й obrigatуrio almentar o valor da define.
{
    "108.", "198.", "216.", "72.", "74.", "192.", "64.", "189.", "173.", "69." // A ultima faixa nгo vai virgula.
};

public OnPlayerText(playerid, text[])
{
    for(new i = 0; i <MAX_SPAM; i++) if(strfind(text, IP[i], true) != -1)
    {
        SendClientMessege(playerid, -1, "[INFO]: Vocк foi kickado por suspeita de spam."), Kick(playerid);    
    }
    return false;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)