1<?xml version="1.0" encoding="ISO-8859-1"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"><head> 4<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> 5<!-- 6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 7 This file is generated from xml source: DO NOT EDIT 8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 9 --> 10<title>Control de Acceso - Servidor HTTP Apache Versión 2.4</title> 11<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> 12<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> 13<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> 14<script src="../style/scripts/prettify.min.js" type="text/javascript"> 15</script> 16 17<link href="../images/favicon.ico" rel="shortcut icon" /></head> 18<body id="manual-page"><div id="page-header"> 19<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="http://wiki.apache.org/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p> 20<p class="apache">Versión 2.4 del Servidor HTTP Apache</p> 21<img alt="" src="../images/feather.png" /></div> 22<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> 23<div id="path"> 24<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentación</a> > <a href="../">Versión 2.4</a> > <a href="./">How-To / Tutoriales</a></div><div id="page-content"><div id="preamble"><h1>Control de Acceso</h1> 25<div class="toplang"> 26<p><span>Idiomas disponibles: </span><a href="../en/howto/access.html" hreflang="en" rel="alternate" title="English"> en </a> | 27<a href="../es/howto/access.html" title="Español"> es </a> | 28<a href="../fr/howto/access.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> 29</div> 30 31 <p>El control de acceso, hace referencia a todos los medios que proporcionan 32 una forma de controlar el acceso a cualquier recurso. Esta parte está 33 separada de <a href="auth.html">autenticación y autorización</a>.</p> 34</div> 35<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">Módulos y Directivas relacionados</a></li> 36<li><img alt="" src="../images/down.gif" /> <a href="#host">Control de Acceso por host</a></li> 37<li><img alt="" src="../images/down.gif" /> <a href="#env">Control de acceso por variables arbitrarias.</a></li> 38<li><img alt="" src="../images/down.gif" /> <a href="#rewrite">Control de acceso con mod_rewrite</a></li> 39<li><img alt="" src="../images/down.gif" /> <a href="#moreinformation">Más información</a></li> 40</ul><h3>Consulte también</h3><ul class="seealso"><li><a href="#comments_section">Comentarios</a></li></ul></div> 41<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 42<div class="section"> 43<h2><a name="related" id="related">Módulos y Directivas relacionados</a></h2> 44 45 <p>El control de acceso puede efectuarse mediante diferentes módulos. Los 46 más importantes de éstos son <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> y 47 <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>. También se habla en este documento de 48 el control de acceso usando el módulo <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p> 49 50</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 51<div class="section"> 52<h2><a name="host" id="host">Control de Acceso por host</a></h2> 53 <p> 54 Si lo que se quiere es restringir algunas zonas del sitio web, basándonos 55 en la dirección del visitante, esto puede ser realizado de manera 56 fácil con el módulo <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>. 57 </p> 58 59 <p>La directiva <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> 60 proporciona una variedad de diferentes maneras de permitir o denegar el acceso a los recursos. Además puede ser usada junto con las directivas:<code class="directive"><a href="../mod/mod_authz_core.html#requireall">RequireAll</a></code>, <code class="directive"><a href="../mod/mod_authz_core.html#requireany">RequireAny</a></code>, y <code class="directive"><a href="../mod/mod_authz_core.html#requirenone">RequireNone</a></code>, estos requerimientos pueden 61 ser combinados de forma compleja y arbitraria, para cumplir cualquiera que 62 sean tus políticas de acceso.</p> 63 64 <div class="warning"><p> 65 Las directivas <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>, 66 <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code>, y 67 <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>, 68 proporcionadas por <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code>, están obsoletas y 69 serán quitadas en futuras versiones. Deberá evitar su uso, y también 70 los tutoriales desactualizaos que recomienden su uso. 71 </p></div> 72 73 <p>El uso de estas directivas es:</p> 74 75 76 <pre class="prettyprint lang-config">Require host <var>address</var> <br /> 77Require ip <var>ip.address</var> 78 </pre> 79 80 81 <p>En la primera línea, <var>address</var> es el FQDN de un nombre de 82 dominio (o un nombre parcial del dominio); puede proporcionar múltiples 83 direcciones o nombres de dominio, si se desea. 84 </p> 85 86 <p>En la segunda línea, <var>ip.address</var> es la dirección IP, una 87 dirección IP parcial, una red con su máscara, o una especificación red/nnn 88 CIDR. Pueden usarse tanto IPV4 como IPV6.</p> 89 90 <p>Consulte también <a href="../mod/mod_authz_host.html#requiredirectives">la 91 documentación de mod_authz_host </a> para otros ejemplos de esta sintaxis. 92 </p> 93 94 <p>Puede ser insertado <code>not</code> para negar un requisito en particular. 95 Note que, ya que <code>not</code> es una negación de un valor, no puede ser 96 usado por si solo para permitir o denegar una petición, como <em>not true</em> 97 que no contituye ser <em>false</em>. En consecuencia, para denegar una 98 visita usando una negación, el bloque debe tener un elemento que se evalúa como 99 verdadero o falso. Por ejemplo, si tienes a alguien espameandote tu tablón de 100 mensajes, y tu quieres evitar que entren o dejarlos fuera, puedes realizar 101 lo siguiente: 102 </p> 103 104 <pre class="prettyprint lang-config"><RequireAll> 105 Require all granted 106 Require not ip 10.252.46.165 107</RequireAll></pre> 108 109 110 <p>Los visitantes que vengan desde la IP que se configura (<code>10.252.46.165</code>) 111 no tendrán acceso al contenido que cubre esta directiva. Si en cambio, lo que se 112 tiene es el nombre de la máquina, en vez de la IP, podrás usar:</p> 113 114 <pre class="prettyprint lang-config">Require not host <var>host.example.com</var> 115 </pre> 116 117 118 <p>Y, Si lo que se quiere es bloquear el acceso desde dominio especifico, 119 podrás especificar parte de una dirección o nombre de dominio:</p> 120 121 <pre class="prettyprint lang-config">Require not ip 192.168.205 122Require not host phishers.example.com moreidiots.example 123Require not host gov</pre> 124 125 126 <p>Uso de las directivas <code class="directive"><a href="../mod/mod_authz_core.html#requireall">RequireAll</a></code>, <code class="directive"><a href="../mod/mod_authz_core.html#requireany">RequireAny</a></code>, y <code class="directive"><a href="../mod/mod_authz_core.html#requirenone">RequireNone</a></code> pueden ser usadas 127 para forzar requisitos más complejos.</p> 128 129</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 130<div class="section"> 131<h2><a name="env" id="env">Control de acceso por variables arbitrarias.</a></h2> 132 133 <p>Haciendo el uso de <code class="directive"><a href="../mod/core.html#if"><If></a></code>, 134 puedes permitir o denegar el acceso basado en variables de entrono arbitrarias 135 o en los valores de las cabeceras de las peticiones. Por ejemplo para denegar 136 el acceso basándonos en el "user-agent" (tipo de navegador así como Sistema Operativo) 137 puede que hagamos lo siguiente: 138 </p> 139 140 <pre class="prettyprint lang-config"><If "%{HTTP_USER_AGENT} == 'BadBot'"> 141 Require all denied 142</If></pre> 143 144 145 <p>Usando la sintaxis de <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> 146 <code>expr</code> , esto también puede ser escrito de la siguiente forma: 147 </p> 148 149 150 <pre class="prettyprint lang-config">Require expr %{HTTP_USER_AGENT} != 'BadBot'</pre> 151 152 153 <div class="note"><h3>Advertencia:</h3> 154 <p>El control de acceso por <code>User-Agent</code> es una técnica poco fiable, 155 ya que la cabecera de <code>User-Agent</code> puede ser modificada y establecerse 156 al antojo del usuario.</p> 157 </div> 158 159 <p>Vea también la página de <a href="../expr.html">expresiones</a> 160 para una mayor aclaración de que sintaxis tienen las expresiones y que 161 variables están disponibles.</p> 162 163</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 164<div class="section"> 165<h2><a name="rewrite" id="rewrite">Control de acceso con mod_rewrite</a></h2> 166 167 <p>El flag <code>[F]</code> de <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> causa una respuesta 403 Forbidden 168 para ser enviada. USando esto, podrá denegar el acceso a recursos basándose 169 en criterio arbitrario.</p> 170 171 <p>Por ejemplo, si lo que desea es bloquear un recurso entre las 8pm y las 172 7am, podrá hacerlo usando <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>:</p> 173 174 <pre class="prettyprint lang-config">RewriteEngine On 175RewriteCond "%{TIME_HOUR}" ">=20" [OR] 176RewriteCond "%{TIME_HOUR}" "<07" 177RewriteRule "^/fridge" "-" [F]</pre> 178 179 180 <p>Esto devolverá una respuesta de error 403 Forbidden para cualquier petición 181 después de las 8pm y antes de las 7am. Esta técnica puede ser usada para cualquier 182 criterio que desee usar. También puede redireccionar, o incluso reescribir estas 183 peticiones, si se prefiere ese enfoque. 184 </p> 185 186 <p>La directiva <code class="directive"><a href="../mod/core.html#if"><If></a></code>, 187 añadida en la 2.4, sustituye muchas cosas que <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> 188 tradicionalmente solía hacer, y deberá comprobar estas antes de recurrir a 189 </p> 190 191</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> 192<div class="section"> 193<h2><a name="moreinformation" id="moreinformation">Más información</a></h2> 194 195 <p>El <a href="../expr.html">motor de expresiones</a> le da una gran 196 capacidad de poder para hacer una gran variedad de cosas basadas en 197 las variables arbitrarias del servidor, y debe consultar este 198 documento para más detalles.</p> 199 200 <p>También, deberá leer la documentación de <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> 201 para ejemplos de combinaciones de múltiples requisitos de acceso y especificar 202 cómo interactúan. 203 </p> 204 205 <p>Vea también los howtos de <a href="auth.html">Authenticación y Autorización</a> 206 </p> 207</div></div> 208<div class="bottomlang"> 209<p><span>Idiomas disponibles: </span><a href="../en/howto/access.html" hreflang="en" rel="alternate" title="English"> en </a> | 210<a href="../es/howto/access.html" title="Español"> es </a> | 211<a href="../fr/howto/access.html" hreflang="fr" rel="alternate" title="Français"> fr </a></p> 212</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comentarios</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> 213<script type="text/javascript"><!--//--><![CDATA[//><!-- 214var comments_shortname = 'httpd'; 215var comments_identifier = 'http://httpd.apache.org/docs/2.4/howto/access.html'; 216(function(w, d) { 217 if (w.location.hostname.toLowerCase() == "httpd.apache.org") { 218 d.write('<div id="comments_thread"><\/div>'); 219 var s = d.createElement('script'); 220 s.type = 'text/javascript'; 221 s.async = true; 222 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; 223 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); 224 } 225 else { 226 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); 227 } 228})(window, document); 229//--><!]]></script></div><div id="footer"> 230<p class="apache">Copyright 2022 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> 231<p class="menu"><a href="../mod/">Módulos</a> | <a href="../mod/directives.html">Directivas</a> | <a href="http://wiki.apache.org/httpd/FAQ">Preguntas Frecuentes</a> | <a href="../glossary.html">Glosario</a> | <a href="../sitemap.html">Mapa del sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- 232if (typeof(prettyPrint) !== 'undefined') { 233 prettyPrint(); 234} 235//--><!]]></script> 236</body></html>