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