En este artículo te muestro el bloqueo de países desde .htaccess. A partir de las ultimas versiones de Apache este trae la funcionalidad de reconocimiento de códigos ISO ISO 3166-1. Cpn esto vamos a poder bloquear visitas de países muy fácilmente.
Bloquear países en .htaccess
Antes que nada tienes que tener los código ISO de los países que quieres bloquear. Puedes revisar este artículo para obtenerlos, para este caso utilizaremos los códigos de la columna Código alfa-2 de dos letras:
Como ejemplo tomaremos China, que se identifica con el código «CN«.
En el archivo .htaccess debes agregar lo siguiente:
# Bloqueo de paises SetEnvIf CF-IPCountry CN BuzzOff=1 Order allow,deny Allow from all Deny from env=BuzzOff
Guarda, cierra y reinicia el servidor para que este tome los cambios.
Puedes bloquear varios paises poniendo tantas líneas como países quieras con su código ISO correspondiente.
Ejemplo:
# Bloqueo de paises SetEnvIf CF-IPCountry RU BuzzOff=1 SetEnvIf CF-IPCountry CN BuzzOff=1 SetEnvIf CF-IPCountry KZ BuzzOff=1 SetEnvIf CF-IPCountry CZ BuzzOff=1 Order allow,deny Allow from all Deny from env=BuzzOff
Buen día,se puede hacer un archivo .htaccess,que deje entrar solamente ip de argentina en mi web ? pregunto,para no hacer un archivo tan largo para todas las ip de cantidad de paises que existen,o sea,un archivo que permita solamente la entrada desde Argentina,desde ya muchas gracias
Hola la regla deberia ser algo asi:
SetEnvIf CF-IPCountry AR BuzzOff=1
order allow,deny
Allow from env=BuzzOff
Deny from all
Saludos
Que buen aporte, gracias.
Sumo una consulta: si se aplica una regla general para bloquear a todos los países excepto a Argentina, ¿cómo sería posible configurar excepciones para servicios del exterior como CLOUDFLARE, o bien algún otro servicio?
Gracias de antemanop
Hola necesito que mi web solo la vean en colombia y ecuador, lo hago asi y se queda cargado
SetEnvIf CF-IPCountry CO BuzzOff=1
SetEnvIf CF-IPCountry EC BuzzOff=1
order allow,deny
Allow from env=BuzzOff
Deny from all