Blog de Gonzalo

CONTROL ACCESO POR IP

El módulo de control de acceso de apache permite controlar el acceso a los diferentes directorios y ficheros del servidor dependiendo del nombre de la máquina o dirección IP del cliente. Las directivas que proporciona este módulo se pueden utilizar dentro del fichero de configuración httpd.conf, o bien dentro de ficheros .htaccess ubicados dentro de las carpetas.
Voy a poner varios ejemplos sencillitos para que se entienda fácilmente como se hace.


order allow,deny
deny from 162.20.100.0
deny from 220.145.24.71
allow from all

En el ejemplo anterior se puede ver cómo se permite el acceso a todas las IPs excepto a las ip 162.20.100.0 y 220.145.24.71. De esta manera se pueden bloquear varias IPs de una manera sencilla.

order allow,deny
allow from 162.20.100
allow from 220.145.24.71
deny from all
allow from all

En el ejemplo anterior se puede ver cómo sólo se permite el acceso a las ip 162.20.100.0 y 220.145.24.71.

order allow,deny
allow from all
deny from 200.150.162.

En el ejemplo anterior se puede cómo se bloquea el acceso al rango de ip 200.150.162.x. Es decir la ip 200.150.162.3 no podría acceder pero la ip 200.150.168.100, si que podría acceder.

order allow,deny
deny from all
allow from 200.150.162.

En el ejemplo anterior se pueder ver cómose permite el acceso al rango de ip 200.150.162.x. Es decir la ip 200.150.162.3 podría acceder pero la ip 200.150.168.100, no que podría acceder.
Los ejemplos que he puesto anteriormente son para restringir / permitir el acceso por ip. Pero el acceso también se puede gestionar mediante el user agent aunque el concepto es diferente a lo explicado en los ejemplos anteriores ya que puedes controlar el acceso por ip a zonas sensibles o privadas de una empresa, etc...
Un ejemplo del control de acceso por user agent es comprobar que dispositivos van a acceder al sitio web si son tabletas, móviles, ordenadores, etc...

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} UserAgent [NC]
RewriteRule .* - [F,L]

En el ejemplo anterior basta con sustituir 'UserAgent' por el user agent que queremos bloquear.Para bloquear varios user agent habría que usar el siguiente ejemplo:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*(useragent1|useragent2|useragent3).*$ [NC]
RewriteRule .* - [F,L]

Espero que os haya servido y parecido fácil.

Compartir en twitter