SA-MP Forums Archive
[Ajuda] BlockIpAdress - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] BlockIpAdress (/showthread.php?tid=573742)



BlockIpAdress - RDM - 09.05.2015

Olб Pessoal !! Estou Precisando De uma ajudinha !! Estava Fazendo Usando BlockIpAdress e Veio Uma ideia Porque nгo criar um arquivo Onde coloca-se os Ips de deseja-se bloquear e Apуs isso checar e Bloquear cada um dos Ips estando na lista Com BlockIpAdress ... Eis o Problema Estб em checar o IP e bloquea-lo ... esto Usando DOF2 alguem pode me ajudar como pegar os Ips Linha por linha e blockiar ? Help-me Agradeзo desde jб


Re: BlockIpAdress - Gii - 09.05.2015

PHP код:
BlockIPs() {
    new 
File:file fopen("ips_bloqueados.txt"io_read), line[17];
    if ( 
file ) {
        while(
fread(fileline)) {
            
BlockIpAddress(line60 1000);
            
printf("***** IP [%s] bloqueado!"line);
        }
        
fclose(file);
    }
    return 
1;
}

public 
OnGameModeInit() {
    
BlockIPs();
    return 
1;

Os IP's ficarгo bloqueados por 1 minuto, altere como quiser.

DOF2 nгo й a melhor maneira para fazer isto, file functions "quebra o galho" perfeitamente.

Beijos!


Re: BlockIpAdress - Luucass - 09.05.2015

Pelo que eu entendi vocк quer definir uma lista de ip bloqueados, sу que em um arquivo separado ?
se sim entгo vamos lб

Crie um arquivo na pasta inlude, nome de preferencia
coloque no seu gm #include <NomeDoArquivo>

dentro da include
pawn Код:
IpsBloqueados() {
127.0.0.1
}
e coloca no seu comando ou um verificador no lugar dos ips apenas
pawn Код:
IpsBloqueados();
e pronto, sу ficar atualizando lб no arquivo...


Re: BlockIpAdress - RDM - 09.05.2015

Muito Obrigado GII funcionou + rep jб estava tentando de outra forma DOF2 nгo tinha conseguido
Vlws Continue Assim

Luuccas .. Vlws tmb pelo empenho em ajudar continue assim vlws


Re: BlockIpAdress - Gii - 09.05.2015

PHP код:
BlockIPs() {
    new 
File:file fopen("ips_bloqueados.txt"io_read), line[17];
    if ( 
file ) {
        while(
fread(fileline)) {
            
BlockIpAddress(line60 1000);
            
printf("***** IP [%s] bloqueado!"line);
        }
        
fclose(file);
    }
    return 
1;
}
UnBlockIPs() {
    new 
File:file fopen("ips_bloqueados.txt"io_read), line[17];
    if ( 
file ) {
        while(
fread(fileline)) {
             
UnBlockIpAddress(line);
        }
        
fclose(file);
    }
    return 
1;
}
// Fdelete was made by Sacky. 
fdeleteline(filename[], line[]){
    if(
fexist(filename)){
        new 
temp[256];
        new 
File:fhandle fopen(filename,io_read);
        
fread(fhandle,temp,sizeof(temp),false);
        if(
strfind(temp,line,true)==-1){return 0;}
        else{
            
fclose(fhandle);
            
fremove(filename);
            for(new 
i=0;i<strlen(temp);i++){
                new 
templine[256];
                
strmid(templine,temp,i,i+strlen(line));
                if(
strcmp(templine,linetrue) == 0){
                    
strdel(temp,i,i+strlen(line));
                    
fcreate(filename);
                    
fhandle fopen(filename,io_write);
                    
fwrite(fhandle,temp);
                    
fclose(fhandle);
                    return 
1;
                }
            }
        }
    }
    return 
0;
}
public 
OnGameModeInit() {
    
BlockIPs();
    return 
1;
}
CMD:addip(playeridparams[]) {
    if ( !
IsPlayerAdmin(playerid) || isnull(params) )
        return 
0;
    new 
File:file fopen("ips_bloqueados.txt"io_append);
    if ( 
file ) {
        new 
ip[25];
        
format(ipsizeof(ip), "%s\r\n"params);
        
fwrite(fileip);
        
fclose(file);
        
SendClientMessage(playerid, -1"IP adicionado!");
    }
    return 
1;
}
CMD:removeip(playeridparams[]) {
    if ( !
IsPlayerAdmin(playerid) || isnull(params) )
        return 
0;
    
fdeleteline("ips_bloqueados.txt"params);
    
SendClientMessage(playerid, -1"IP desbloqueado!");
    return 
1;
}
CMD:reloadips(playerid) {
    if ( !
IsPlayerAdmin(playerid) )
        return 
0;
    
UnBlockIPs();
    
BlockIPs();
    return 
1;

Um pouco mais completo...

OBS: Nгo compilei, entгo podem ter erros.
OBSІ:Й necessбrio estar logado na RCON.
OBSі:Os IPs ficarгo bloqueados por 1 minuto, altere a seu agrado.