Versin 2.4 del Servidor HTTP Apache
Idiomas disponibles: fr
El control de , hace referencia a todos los medios que proporcionan una forma de controlar el a cualquier recurso. Esta parte est separada de autenticacin y autorizacin.
El control de puede efectuarse mediante diferentes mdulos. Los ms importantes de stos son mod_rewrite
.
Si lo que se quiere es restringir algunas zonas del sitio web, basndonos en la direccin del visitante, esto puede ser realizado de manera fcil con el mdulo mod_authz_host
.
La directiva RequireNone
, estos requerimientos pueden ser combinados de forma compleja y arbitraria, para cumplir cualquiera que sean tus polticas de .
Las directivas mod_access_compat
, estn obsoletas y sern quitadas en futuras versiones. Deber evitar su uso, y tambin los tutoriales desactualizaos que recomienden su uso.
El uso de estas directivas es:
Require host address
Require ip ip.address
En la primera lnea, address es el FQDN de un nombre de dominio (o un nombre parcial del dominio); puede proporcionar mltiples direcciones o nombres de dominio, si se desea.
En la segunda lnea, ip.address es la direccin IP, una direccin IP parcial, una red con su mscara, o una especificacin red/nnn CIDR. Pueden usarse tanto IPV4 como IPV6.
Consulte tambin la documentacin de mod_authz_host para otros ejemplos de esta sintaxis.
Puede ser insertado not
para negar un requisito en particular. Note que, ya que not
es una negacin de un valor, no puede ser usado por si solo para permitir o denegar una peticin, como not true que no contituye ser false. En consecuencia, para denegar una visita usando una negacin, el bloque debe tener un elemento que se evala como verdadero o falso. Por ejemplo, si tienes a alguien espameandote tu tabln de mensajes, y tu quieres evitar que entren o dejarlos fuera, puedes realizar lo siguiente:
<RequireAll> Require all granted Require not ip 10.252.46.165 </RequireAll>
Los visitantes que vengan desde la IP que se configura (10.252.46.165
) no tendrn al contenido que cubre esta directiva. Si en cambio, lo que se tiene es el nombre de la mquina, en vez de la IP, podrs usar:
Require not host host.example.com
Y, Si lo que se quiere es bloquear el desde dominio especifico, podrs especificar parte de una direccin o nombre de dominio:
Require not ip 192.168.205 Require not host phishers.example.com moreidiots.example Require not host gov
Uso de las directivas RequireNone
pueden ser usadas para forzar requisitos ms complejos.
Haciendo el uso de <If>
, puedes permitir o denegar el basado en variables de entrono arbitrarias o en los valores de las cabeceras de las peticiones. Por ejemplo para denegar el basndonos en el "-agent" (tipo de navegador as como Sistema Operativo) puede que hagamos lo siguiente:
<If "%{HTTP__AGENT} == 'BadBot'"> Require all denied </If>
Usando la sintaxis de Require
expr
, esto tambin puede ser escrito de la siguiente forma:
Require expr %{HTTP__AGENT} != 'BadBot'
El control de por -Agent
es una tcnica poco fiable, ya que la cabecera de -Agent
puede ser modificada y establecerse al antojo del .
Vea tambin la pgina de expresiones para una mayor aclaracin de que sintaxis tienen las expresiones y que variables estn disponibles.
El flag [F]
de RewriteRule
causa una respuesta 403 Forbidden para ser enviada. USando esto, podr denegar el a recursos basndose en criterio arbitrario.
Por ejemplo, si lo que desea es bloquear un recurso entre las 8pm y las 7am, podr hacerlo usando mod_rewrite
:
RewriteEngine On RewriteCond "%{TIME_HOUR}" ">=20" [OR] RewriteCond "%{TIME_HOUR}" "<07" RewriteRule "^/fridge" "-" [F]
Esto devolver una respuesta de error 403 Forbidden para cualquier peticin despus de las 8pm y antes de las 7am. Esta tcnica puede ser usada para cualquier criterio que desee usar. Tambin puede redireccionar, o incluso reescribir estas peticiones, si se prefiere ese enfoque.
La directiva mod_rewrite
tradicionalmente sola hacer, y deber comprobar estas antes de recurrir a
El motor de expresiones le da una gran capacidad de poder para hacer una gran variedad de cosas basadas en las variables arbitrarias del servidor, y debe consultar este documento para ms detalles.
Tambin, deber leer la documentacin de mod_authz_core
para ejemplos de combinaciones de mltiples requisitos de y especificar cmo interactan.
Vea tambin los howtos de Authenticacin y Autorizacin
Idiomas disponibles: fr