SA-MP Forums Archive
[Ajuda] Bloquear faixa de ip - 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] Bloquear faixa de ip (/showthread.php?tid=367096)



Bloquear faixa de ip - trollv - 08.08.2012

Galera, queria saber como faзo pra bloquear uma faixa de ip da seguinda forma:

Supondo que o ip seja 127.0.0.1, eu queria bloquear apenas o primeiro e o segundo prefixo, bloquando portanto qualquer ip que entrasse com a faixa 127.0, como eu posso fazer isso?


Re: Bloquear faixa de ip - ipsBruno - 08.08.2012

Funзгo --- GetIPAsArray
http://forum.sa-mp.com/showpost.php?...postcount=1995

pawn Код:
#define MAX_PLAYER_IP 20

static
    bruno_lindo [ MAX_PLAYER_IP ],
    bruno_array [ 4 ];

GetPlayerIp(playerid, bruno_lindo , MAX_PLAYER_IP )
GetIPAsArray( bruno_lindo , bruno_array );

format(bruno_lindo, MAX_PLAYER_IP ,  "ban %d.%d.*.*",  bruno_array[0] , bruno_array[1]);

SendRconCommand(bruno_lindo);



Re: Bloquear faixa de ip - StreetGT - 08.08.2012

ban 127.* acho que й assim


Re: Bloquear faixa de ip - ipsBruno - 08.08.2012

Quote:
Originally Posted by StreetGT
Посмотреть сообщение
ban 127.* acho que й assim
Sim. A estб parte й referente a rede, o problema й que fazendo isto a probabilidade de vocк pegar algum jogador inocente й muito alta :

Й de 128 para 239, o que seria uma mйdia de caso 111 jogadores 1 serб banido erroneamente. Й aconselhбvel usar as duas primeiras partes, assim o valor й aumentado de 1 em 239І - 128І. Isto й em media de 1 em 40 mil .. Mas isto nгo й totalmente eficaz, pois um jogador facilmente muda toda sua faixa de IP. Incluindo a rede que й a primeira parte do endereзo Por isto aconselho criar uma funзгo "GetPlayerSerialHD"


Re: Bloquear faixa de ip - trollv - 08.08.2012

Bruno na verdade eu tava querendo um sistema para um ip especifico, modifiquei seu sistema para:

pawn Код:
GetPlayerIp(playerid, bruno_lindo, MAX_PLAYER_IP);
    GetIPAsArray(bruno_lindo, bruno_array);
    if(bruno_array[0]==127 && bruno_array[1]==0)
    {
        Kick(playerid);
    }
E nгo funcionou '-'


Re: Bloquear faixa de ip - ipsBruno - 08.08.2012

127.0.0.1 й o IP do prуprio servidor, local.


Re: Bloquear faixa de ip - trollv - 08.08.2012

isso foi uma suposiзгo '-'


Re: Bloquear faixa de ip - ipsBruno - 08.08.2012

Suposiзгo?

Enfim. Imprima com printf os valores da array com os valores do ip do jogador e mostre aqui o que retorna


Re: Bloquear faixa de ip - rjjj - 08.08.2012

Isso pode ser feito com a funзгo strfind :


pawn Код:
public OnPlayerConnect(playerid)
{
    new IP[16];
    GetPlayerIp(playerid, IP, 16);
    if(!strfind(IP, "127.0."))
    {
        Kick(playerid);
    }
    return 1;
}

O cуdigo acima, por exemplo, daria um kick no jogador se seu IP comeзasse com "127.0." .



Espero ter ajudado .


Re: Bloquear faixa de ip - ipsBruno - 08.08.2012

Exatamente Ken. Mas caso ele quer banir aquele ip. Use o cуdigo que postei.


Alias, use o cуdigo que eu fiz para BANIR. Caso jб estiver banido, vocк vai no samp.ban e adiciona
Quote:

127.0.*.*