Laboratorio: Proteger ruta virtual mediante Apache
En otras ocasiones hemos comentado como proteger directorios mediante Apache, incluyendo en el .htaccess los comandos necesarios para ello. El problema viene cuando en vez de proteger una ruta fÃsica, queremos proteger un URL virtual, entendiendo URL virtual, aquella que no existe fÃsicamente y que mediante Apache redireccionamos a un script en concreto, por ejemplo:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteBase / RewriteRule ^clientes index.php?redirect=clientes [QSA,L]
En este caso, si accedemos a http://servidor/cliente
, realmente no estaremos accediendo a una ruta fÃsica, pero puede ser que queramos que esta url no sea accesible para todo el mundo.
Para proteger una URL virtual debemos usar el comando Location, el cual debemos incluirlo en el httpd.conf o en un dominio virtual, y para protegerlo deberemos usar:
<Location /client> AuthType Basic AuthName "Acceso Protegido" AuthUserFile [ruta .htpasswd] AuthGroupFile /dev/null order allow,deny allow from all deny from none require valid-user </Location>