Permitir apenas visitantes Brasileiros

Com as constantes ameaças de hackers e abusos de uso de dados, esgotando sua hospedagem e até forçando upgrade por acessos de bots e visitantes indesejáveis em busca de vulnerabilidades em seu site.

Muitos clientes estão utilizando a restrição de acesso, permitindo apenas de IPs do Brasil em seus sites, dispondo de seu conteúdo apenas para o publico alvo.

Abaixo uma pequena rotina que pode ser incluída no inicio do seu index.php que ira verificar o ip do visitante e conferindo seu IP, 

* Importante: consideramos os bots do google como validos e não serão bloqueados.

//-------[INICIO]--[www.alowelter.com.br]--------------
/*
* AloWelter - Filtragem de IP por pais.
* Técnico: Marcelo
*
* Função: bloqueio de acessos de fora do Brasil.
*/
function getLocationInfoByIp() {
    $client  = @$_SERVER['HTTP_CLIENT_IP'];
    $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
    $remote  = @$_SERVER['REMOTE_ADDR'];
    $result  = array('country'=>'', 'city'=>'');
    if(filter_var($client, FILTER_VALIDATE_IP)){
        $ip = $client;
    }elseif(filter_var($forward, FILTER_VALIDATE_IP)){
        $ip = $forward;
    }else{
        $ip = $remote;
    }
    $ip_data = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ip));
    if($ip_data && $ip_data->geoplugin_countryName != null){
        $result['country'] = $ip_data->geoplugin_countryCode;
        $result['city'] = $ip_data->geoplugin_city;
    }
    return $result;
}

$data = getLocationInfoByIp();
if($data['country'] != 'BR' && // IP não é brasileiro
    !strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "googlebot") // e não é bot do google (deve passar para relevancia nas pesquisas)
    ) {
    http_response_code(401); // retorna o Erro "Não autorizado"
    die;
}
//-------[FINAL]--[www.alowelter.com.br]--------------
  • 0 Usuários acharam útil
Esta resposta lhe foi útil?

Artigos Relacionados

Abrir uma subpasta com o domínio principal

Muitas vezes ao implantar um novo sistema fazemos em uma subpasta, que posteriormente acaba...

Redirecionar de http para https

Atualmente sites que não usam o certificado de SSL são descritos como não seguros pelos browsers...