Evelb

PHP: .htaccess, bloquear acceso a una IP o dominio

PHP: .htaccess, bloquear acceso a una IP o dominio
Martín Dominguez
Desarrollador Web
«¡Dime qué código usas y te diré quién eres!»
Post más relevante: Top 10 novedades tecnológicas del 2015 – Parte 1

A la hora de crear aplicaciones web usando PHP hay que tener muchos factores en cuenta que, normalmente, se van dejando en la cola de tareas y luego no se le presta suficiente atención.

Uno de esos factores es la creación de un buen .htaccess, con el que podremos controlar las partes más dinámicas y las más vulnerables de nuestro servidor Apache.

Desde ampliar los números de MB por defecto en la subida de archivos, como para crear URLs amigables, con las que podremos mejorar notablemente el SEO de nuestra página web.

Cómo bloquear el acceso a una IP o dominio

En el tutorial de hoy vamos a aprender a realizar unos cuantos ejemplos que nos servirán para denegar el acceso a ciertas IPs  y dominios, que nos servirán, por ejemplo, para evitar ataques a nuestro servidor o porque somos el blanco de SPAM.

# Código de bloqueo de IP
order allow,deny
allow from all
deny from xxx.xxx.xxx.xxx

En este bloque de código, vemos como el archivo deniega el acceso a la IP xxx.xxx.xxx.xxx (donde x, el número de la IP que queremos denegar).

Para denegar el acceso a un dominio en concreto, sería muy parecido al caso de atrás, solo que, en vez de introducir la IP escribiríamos el dominio.

# Código de bloqueo de dominio
order allow,deny
allow from all
deny from www.ejemplo.com

Con este código, todo lo que venga desde «www.ejemplo.com» tendrá el acceso denegado.

Pero, si por el contrario, queremos exactamente lo contrario, crear un único acceso a mi página web sería de la siguiente manera:

# Código de acceso exclusivo de IP
order allow,deny
deny from all
allow from xxx.xxx.xxx.xxx
# Código de acceso exclusivo de IP
order allow,deny
deny from all
allow from www.ejemplo.com

Con los dos ejemplos de atrás, conseguiremos el efecto contrario, daremos el acceso únicamente a la IP «xxx.xxx.xxx.xxx» o al dominio «www.ejemplo.com».

Por último, si lo que queremos es evitar que los visitantes vengan de enlaces de dentro de diversos dominios simplemente tendríamos que realizar el siguiente código:

# Código de visitantes referidos desde dos dominios diferentes
RewriteEngine on
RewriteCond %{HTTP_REFERER} ejemplox\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ejemploy\.com [NC]
RewriteRule .* - [F]

Con estos ejemplos ya podríamos evitar muchos problemas a la hora de dar acceso a ciertas zonas de la web. Recuerda que si el archivo .htaccess lo incorporas en la carpeta raíz  de la web se aplicará en toda la web por igual. Si lo que quieres es evitar accesos a una sola parte de la web, copia el archivo dentro de la carpeta del FTP que le corresponde.

En siguientes tutoriales de HTACCESS aprenderemos a crear usuarios y contraseñas para proteger unos directorios concretos.

Hasta el siguiente tutorial!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *