Cómo bloquear una IP por país utilizando .htaccess
Si deseas gestionar el acceso a tu sitio web según la ubicación de tus visitantes, bloquear direcciones IP por país es una opción eficaz.
Con algunos ajustes en el archivo .htaccess, es posible permitir o bloquear el acceso a visitantes de determinadas ubicaciones.
Este tutorial rápido y sencillo te mostrará cómo controlar el acceso al sitio en función de dónde se encuentren los visitantes.
Tabla de Contenidos
¿Por qué bloquear direcciones IP?
Hay una serie de razones por las que deberías considerar el uso de la función de bloqueo de direcciones IP. Aquí hay algunos ejemplos:
- Daño a tu ancho de banda: los spammers y los bots consumen el ancho de banda de tu sitio web. Protege tu sitio web y tus visitantes bloqueando su actividad.
- Contenido malicioso: los bots suelen difundir comentarios que contienen información no deseada. No obtienes nada de su presencia más que enlaces de phishing que contienen posibles virus y malwares.
- Piratas informáticos: si a menudo encuentras actividades sospechosas en tu sitio web, lo más probable es que estés bajo un ataque de piratas informáticos. Simplemente niega su acceso bloqueando su dirección IP o evita cualquier entrada a tu sitio web para todos excepto para ti.
Permitir o bloquear visitantes de países específicos con .htaccess
Una vez publicado, un sitio web está disponible en todo el mundo. Sin embargo, en muchos casos, es necesario controlar el acceso a tu sitio, especialmente cuando quieres detener a los spammers y hackers de determinados países.
Afortunadamente, puedes utilizar tu archivo .htaccess de WordPress para permitir o bloquear visitantes de determinados países. Aprendamos cómo hacerlo.
1. Genera direcciones IP del país
Existen muchas herramientas online para permitir o bloquear visitas según su país. En este tutorial, utilizaremos IP2Location.
- Dirígete a la herramienta IP2Location Firewall IP list.
- Selecciona el país que quieres bloquear o permitir.
- Elige entre IPv4 e IPv6 en el menú Versión IP.
- Elige el formato en el menú Formato de salida. La elección depende de si quieres bloquear o permitir visitantes de esos países.
- Haz clic en Descargar.
- La herramienta descargará la Lista de Control de Acceso (ACL) en tu ordenador.
- Si utilizas la función allow, asegúrate de insertar la línea deny from all encima de la lista de IPs permitidas.
2. Inserta las direcciones IP generadas en el archivo .htaccess
Pega las direcciones IP de los países que quieras bloquear o permitir en el archivo .htaccess. Aquí tienes cómo hacerlo utilizando el hPanel de Hostinger:
- Ve a Archivos → Administrador de archivos.
- Selecciona tu dominio y pulsa Ir al Administrador de archivos.
- Ve a la carpeta public_html y haz doble clic en el archivo .htaccess.
- Abre el archivo ACL en tu ordenador, pégalo en tu archivo .htaccess y pulsa Guardar. Tu archivo .htaccess tendrá el siguiente aspecto:
También puedes utilizar un cliente FTP para editar el archivo .htaccess.
¡Importante! Si no puedes acceder a tu sitio web después de introducir las direcciones IP generadas, comprueba si tu dirección IP está incluida en la lista de bloqueo. Puedes encontrar tu dirección IP a través del sitio web What Is My IP Address.
Conclusión
En este tutorial, has aprendido la forma sencilla de bloquear una dirección IP de visitantes de países específicos.
Todo lo que tienes que hacer es generar la dirección IP del país mediante IP2Location, y luego insertar una ACL en tu archivo .htaccess.
Esperamos que esta guía te haya sido útil. Haznos saber en los comentarios si tienes alguna pregunta.
Comentarios
November 11 2020
Buenos días, si genero un archivo bloqueando todos los paises que quiero, me salen mas de 100.000 líneas. Esto es negativo de alguna forma para el rendimiento? Gracias!
February 10 2021
Hola! He metido las Ip en el editor de .htaccess que proporciona Yoast... y ahora no puedo acceder a mi editor wordpress como Admin... PLEASE!! AYUDA!!... este es el mensaje que me aparece: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator at webmaster @clientsbest.se to inform them of the time this error occurred, and the actions you performed just before this error. More information about this error may be available in the server error log. Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
February 16 2021
Hola Emily! Si el problema se generó por modificar el archivo .htaccess, podrías intentar ingresar al directorio raíz de tu sitio desde el administrador de archivos para deshacer los cambios. Otra opción es generar un .htaccess nuevo. Para esto, deberías ingresar también desde el administrador y cambiar el nombre del archivo. Después de esto, ya deberías poder ingresar a tu WordPress sin problemas. Para generar automáticamente el nuevo .htaccess alcanza con entrar a Ajustes y guardar los cambios. Espero que puedas solucionar tu problema. Saludos!