Como restringir el acceso a determinadas paginas de tu servidor pidiendo usuario y contraseña. Recomiendo leer la documentación propia de Apache disponible en su página web http://www.apache.org es muy completa y clara. Hay dos formas de restringir el acceso a determinadas paginas web, una mediante el archivo .htaccess que se pondría en el directorio que contiene la pagina o paginas web a proteger y otra añadiendo la misma sintaxis que en el archivo .htaccess pero en el propio archivo de configuración de Apache, el httpd.conf, mediante la directiva <Directory /ruta/a tu wepes/> Si se va a utilizar el método del archivo ..htaccess hay que tener en cuenta que en el archivo de configuración habría que comprobar que el AllowOverride esta puesto en all o que por lo menos permite el AuthConfig Lo primero de todo usando el método que se use va a ser generar un archivo contraseñas utilizando la herramienta de apache htpasswd. Este archivo conviene ponerlo en un directorio que no sea accesible vía web, no sea que te lo bajen de la máquina y lo crackeen. De modo que si tu carpeta para webs esta situada en /usr/local/apache/htdocs convendría dejar el archivo de contraseñas (en nuestro ejemplo se va a llamar passwords) en otro directorio no accesible desde el exterior, por ej /usr/local/apache/contraseñas. Cuando creamos un archivo de contraseñas por primera vez hay que usar esta sintaxis, htpasswd -c /usr/local/apache/contraseñas/passwd gonzalongo El programa te pide que metas la clave y que la confirmes y se generara el archivo password en la carpeta especificada con una entrada para el usuario gonzalongo Si queremos meter más usuarios en el archivo passwd usamos la misma sintaxis pero prescindiendo del -c por ejemplo, htpasswd /usr/local/apache/contraseñas/passwd waskaman Esto hará que se añada una entrada para el usuario waskaman. Si queremos que no nos pida confirmar el password, meteremos la siguiente linea htpasswd -bc /rutaalasclaves/claves miclave Bien, imaginemos ahora que tenemos una pagina web que solo queremos que vean determinadas personas. Si esta pagina se encontrase en /usr/local/apache/htdocs/privado/paginaparacuates.html deberíamos editar un archivo .htaccess en el directorio privado. Esta restricción es recursiva de forma que si creasemos subdirectorios y paginas en esos subdirectorios también tendrían el acceso restringido. En el archivo .htaccess deberíamos poner AuthType Basic También podríamos haber hecho una entrada así en el httpd.conf <Directory /usr/local/apache/htdocs/privado/> AuthType Basic </Directory> Si usamos el httpd.conf acordaros de relanzar el httpd. AuthType es el tipo de seguridad que vamos a poner, Basic es la más común pero hay que tener en cuenta que manda las claves sin encriptar. Hay otro método mucho más seguro que es el Digest pero no todos los clientes lo soportan. AuthName, es lo que aparecerá en la caja de dialogo pidiendo claves al tratar de acceder a la pagina protegida. Aquí es interesante poner un mensaje claro para que los usuarios sepan donde se están metiendo. AuthUserFile es la ruta al archivo de contraseñas que estemos utilizando. require sirve para especificar que tipo de autentificación se va a pedir, si por usuario, grupo etc. En el ejemplo solo el usuario gonzalongo podría entrar. (require user gonzalongo) Si hubiésemos puesto require valid-user cualquier usuario del archivo de contraseñas podría entrar. |
|
|
|