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&#243;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&#243;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&#243;n 2.4 del Servidor HTTP Apache</p>
21<img alt="" src="../images/feather.png" /></div>
22<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
23<div id="path">
24<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Servidor HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentaci&#243;n</a> &gt; <a href="../">Versi&#243;n 2.4</a> &gt; <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">&nbsp;en&nbsp;</a> |
27<a href="../es/howto/access.html" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
28<a href="../fr/howto/access.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</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&#225;
33        separada de <a href="auth.html">autenticaci&#243;n y autorizaci&#243;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&#243;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&#225;s informaci&#243;n</a></li>
40</ul><h3>Consulte tambi&#233;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&#243;dulos y Directivas relacionados</a></h2>
44
45    <p>El control de acceso puede efectuarse mediante diferentes m&#243;dulos. Los
46    m&#225;s importantes de &#233;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&#233;n se habla en este documento de
48    el control de acceso usando el m&#243;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&#225;ndonos
55    en la direcci&#243;n del visitante, esto puede ser realizado de manera
56    f&#225;cil con el m&#243;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&#225;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&#237;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&#225;n obsoletas y
69    ser&#225;n quitadas en futuras versiones. Deber&#225; evitar su uso, y tambi&#233;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&#237;nea, <var>address</var> es el FQDN de un nombre de
82    dominio (o un nombre parcial del dominio); puede proporcionar m&#250;ltiples
83    direcciones o nombres de dominio, si se desea.
84    </p>
85
86    <p>En la segunda l&#237;nea, <var>ip.address</var> es la direcci&#243;n IP, una
87    direcci&#243;n IP parcial, una red con su m&#225;scara, o una especificaci&#243;n red/nnn
88    CIDR. Pueden usarse tanto IPV4 como IPV6.</p>
89
90    <p>Consulte tambi&#233;n <a href="../mod/mod_authz_host.html#requiredirectives">la
91    documentaci&#243;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&#243;n de un valor, no puede ser
96    usado por si solo para permitir o denegar una petici&#243;n, como <em>not true</em>
97    que no contituye ser <em>false</em>. En consecuencia, para denegar una
98    visita usando una negaci&#243;n, el bloque debe tener un elemento que se eval&#250;a como
99    verdadero o falso. Por ejemplo, si tienes a alguien espameandote tu tabl&#243;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">&lt;RequireAll&gt;
105    Require all granted
106    Require not ip 10.252.46.165
107&lt;/RequireAll&gt;</pre>
108
109
110    <p>Los visitantes que vengan desde la IP que se configura (<code>10.252.46.165</code>)
111    no tendr&#225;n acceso al contenido que cubre esta directiva. Si en cambio, lo que se
112    tiene es el nombre de la m&#225;quina, en vez de la IP, podr&#225;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&#225;s especificar parte de una direcci&#243;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&#225;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">&lt;If&gt;</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&#225;ndonos en el "user-agent" (tipo de navegador as&#237; como Sistema Operativo)
137    puede que hagamos lo siguiente:
138    </p>
139
140    <pre class="prettyprint lang-config">&lt;If "%{HTTP_USER_AGENT} == 'BadBot'"&gt;
141    Require all denied
142&lt;/If&gt;</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&#233;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&#233;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&#233;n la p&#225;gina de  <a href="../expr.html">expresiones</a>
160    para una mayor aclaraci&#243;n de que sintaxis tienen las expresiones y que
161    variables est&#225;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&#225; denegar el acceso a recursos bas&#225;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&#225; 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}" "&gt;=20" [OR]
176RewriteCond "%{TIME_HOUR}" "&lt;07"
177RewriteRule "^/fridge"     "-"       [F]</pre>
178
179
180    <p>Esto devolver&#225; una respuesta de error 403 Forbidden para cualquier  petici&#243;n
181    despu&#233;s de las 8pm y antes de las 7am. Esta t&#233;cnica puede ser usada para cualquier
182    criterio que desee usar. Tambi&#233;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">&lt;If&gt;</a></code>,
187     a&#241;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&#237;a hacer, y deber&#225; 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&#225;s informaci&#243;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&#225;s detalles.</p>
199
200    <p>Tambi&#233;n, deber&#225; leer la documentaci&#243;n de <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code>
201    para ejemplos de combinaciones de m&#250;ltiples requisitos de acceso y especificar
202    c&#243;mo interact&#250;an.
203    </p>
204
205    <p>Vea tambi&#233;n los howtos de <a href="auth.html">Authenticaci&#243;n y Autorizaci&#243;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">&nbsp;en&nbsp;</a> |
210<a href="../es/howto/access.html" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
211<a href="../fr/howto/access.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</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&amp;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&#233;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&#243;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>