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(file, line)) {
BlockIpAddress(line, 60 * 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
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(file, line)) {
BlockIpAddress(line, 60 * 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(file, line)) {
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,line, true) == 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(playerid, params[]) {
if ( !IsPlayerAdmin(playerid) || isnull(params) )
return 0;
new File:file = fopen("ips_bloqueados.txt", io_append);
if ( file ) {
new ip[25];
format(ip, sizeof(ip), "%s\r\n", params);
fwrite(file, ip);
fclose(file);
SendClientMessage(playerid, -1, "IP adicionado!");
}
return 1;
}
CMD:removeip(playerid, params[]) {
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.