nгo da mano se o cara ta usando um serviзo publico tipo o open vpn todo santo dia alguйm ta criando host publico por ai pra o povo se conectar nгo tem como agente adivinhar quando alguйm vai criar um ip novo pra uma vpn publica o mбximo que da pra fazer й pegar as vpns que jб sгo manjadas as que sгo pagas com acesso a uma lista limitada de ips e colocar a lista de ips delas em uma lista negra como sгo listinhas bem limitadas nem da tanto trabalho fazer isso
|
Eu uso esse aqui: http://proxy.mind-media.com/block/
public OnPlayerConnect(playerid)
{
new ip[32], stringz[59];
GetPlayerIp(playerid, ip, sizeof(ip));
format(stringz, sizeof(stringz), "http://proxy.mind-media.com/block/proxycheck.php?ip=%s", ip);
printf("http://proxy.mind-media.com/block/proxycheck.php?ip=%s", ip);
HTTP(playerid, HTTP_GET, stringz, "", "MyHttpResponse");
return 1;
}
forward MyHttpResponse(playerid, response_code, data[]);
public MyHttpResponse(playerid, response_code, data[])
{
new name[MAX_PLAYERS],string[256];
new ip[32];
GetPlayerName(playerid, name, sizeof(name));
GetPlayerIp(playerid, ip, sizeof(ip));
if(response_code == 200)
{
printf("%s", data);
if(data[0] == 'Y')
{
format(string, 256, "[ PROXY DETECTADO ] %s [ %d ] foi kickado do servidor!", name, playerid);
SendClientMessageToAll( 0xFF0000FF, string);
SendClientMessage(playerid, 0xFF0000FF, "[ ANTI PROXY/VPN ] Desligue sua PROXY/VPN senгo irб ser kickado!");
SetTimerEx("DelayedKick", 100, false, "i", playerid);
printf("%s", data);
}
if(data[0] == 'N')
{
format(string, 256, "[ PROXY NГO DETECTADA ] %s [ %d ] Vocк estб liberado!", name, playerid);
SendClientMessageToAll( 0x09F7DFC8, string );
printf("%s", data);
}
if(data[0] == 'X')
{
printf("WRONG IP FORMAT");
}
}
else
{
printf("The request failed! The response code was: %d", response_code);
}
return 1;
}
forward DelayedKick(playerid);
public DelayedKick(playerid)
{
Kick(playerid);
return 1;
}
#include <a_samp>
#include <a_http>
public OnFilterScriptInit()
{
//HTTP(124, HTTP_GET, "proxy.mind-media.com/block/proxycheck.php?ip=127.0.0.1", "", "ProxyResponde");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
new IP[16];
GetPlayerIp(playerid, IP, 16);
if(strcmp(IP, "127.0.0.1") != 0)//Evita kikar NPC / localhost
{
new String[64];
format(String, 64, "proxy.mind-media.com/block/proxycheck.php?ip=%s", IP);
HTTP(playerid, HTTP_GET, String, "", "ProxyResponde");
}
return 1;
}
forward ProxyResponde(index, codigo, data[]);
public ProxyResponde(index, codigo, data[])
{
if(codigo == 200 && data[0] == 'Y')
{
new Str[64];
GetPlayerName(index, Str, 24);
format(Str, 64, "%s foi kikado do servidor (VPN/Proxy)", Str);
SendClientMessageToAll(-1, Str);
Kick(index);
}
return 1;
}
C:\Users\ARLEAN\Desktop\Brasil Virtual World\gamemodes\B.V.W.pwn(4506) : warning 219: local variable "IP" shadows a variable at a preceding level
Bom vamos la, primeiramente sua zstring esta com um tamanho pequeno! Segundo, nгo se coloca http:// na formataзгo, o proprio HTTP faz essa funзгo! |