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