Servicios de Internet RedITG

Anuncio
Directorios restringidos
La mayoría de la información que está en la web es de acceso público. Por ello, todos los subdirectorios
que cree en su dominio serán por defecto de acceso público, es decir, cualquiera podrá verlos si conoce la
dirección web correspondiente.
Sin embargo, existe la posibilidad de proteger el acceso a algunos de esos directorios con el fin de que sólo
puedan ver su información, mediante un login y una contraseña aquellos usuarios que dispongan de una
cuenta de acceso. Cada Servidor Virtual puede restringir el acceso a cuantos subdirectorios desee, tanto
en su dominio principal como en cualquiera de los adicionales.
Las restricciones a directorios se complementan con el manejo de usuarios de acceso a directorios. Estos
usuarios dispondrán de permisos para acceder a los distintos directorios.
En lo que a restricción de directorios se refiere en Linux se dispone de dos opciones principales para el uso
de usuarios, el fichero .htaccess y mediante Bases de Datos MySQL:
.htaccess
El sistema de directorios restringidos mediante el fichero .htaccess se trata de un documento de texto en
ASCII que puede incluirse en algunos directorios de su sitio web bajo el nombre “.htaccess” y el cual el
Servidor Virtual de Apache utiliza para tener algunas reglas sobre le directorios y sus archivos. De esta
forma cuando queramos acceder a cualquier fichero que se encuentre en el directorio a restringir el
navegador web nos solicitará un usuario y una contraseña. Así mismo, el navegador enviará los datos de
petición de acceso al Servidor Virtual de Apache, el cual se encargará de leer y comprobar que el usuario y
contraseña corresponden con los datos que se encuentren en el fichero .htaccess.
Aparte de mantener usuarios en el fichero .htaccess también existen otras posibilidades como personalizar
mensajes de error que el Servidor Apache pueda advertirnos o usar una página inicial diferente. Para ello
se utilizan lo que se conoce como directivas de Apache. Entre las principales directivas de Apache las
que podemos utilizar en .htaccess se disponen las siguientes:




AuthName
AuthType
ContentDigest
DefaultType
Indica el tipo de fichero cuando el Servidor Apache no sabe cuál es, útil por ejemplo si en un
directorio guardamos imágenes pero sin extensión.
Ej: DefaultType image/gif
 ErrorDocument
Directiva que permite mostrar una página personalizada cuando se produce un error:
ErrorDocument NumeroError URL
Ej: ErrorDocument 404 /errores/pagina_error404.html




<IfDefine>
<Limit>
<LimitExcept>
<LimitRequestBody>
ejemplo:
<LIMIT GET>
#usuario
#contraseña
</LIMIT>
El fichero .htaccess puede crearse en cualquier procesador de texto, pero deberá guardarse como un
fichero de solo texto. Se deberá utilizar un programa de FTP para subir este fichero al sitio web. Existe la
posibilidad también de utilizar CGI’s mediante un formulario para modificar el fichero .htaccess. Los CGI’s
son aplicaciones realizadas en lenguajes de programación como Perl o PHP y que permiten la realización
de diferentes funciones a través de una página web.
Bases de Datos MySQL
MySQL es el servidor de bases de datos más popular en los sistemas Linux. Se trata de software libre y
gratuito, muy robusto capaz de manejar sin problemas tablas con bastantes registros en sitios web de
muchas visitas.
Las bases de datos de MySQL no son archivos que se puedan subir a su sitio web como los de MS Access,
sino que residen en un servidor de datos separado. Por ello deben utilizarse programas cliente que
permitan la conexión al servidor de datos con el fin de crear las tablas, subir datos, editar registros, etc.
Aunque MySQL está en un servidor Linux, usted puede gestionar sus bases de datos desde ordenadores
con cualquier sistema operativo utilizando las aplicaciones adecuadas.
Existen varios métodos para gestionar una base de datos MySQL:
PhpMyAdmin
PhpMyAdmin es una aplicación realizada en PHP que le permite administrar sus bases de datos MySQL a
través de Internet utilizando páginas web.
PhpMyAdmin tiene entre otras las siguientes funcionalidades:





Permite crear tablas
En cada tabla puede crear y modificar campos, especificando su tipo de datos, valores por defecto,
etc
Se pueden lanzar sentencias SQL contra la base de datos
Se pueden obtener volcados de la base de datos tanto de estructura como de datos
Se pueden importar datos al servidor: enviar archivos con los datos de una tabla
ODBC para MySQL
Si el ordenador de trabajo utiliza un sistema operativo Windows, se puede gestionarlas tablas de las bases
de datos MySQL utilizando cualquier programa Windows que utilice ODBC, por ejemplo MS Access.
Para ello se debe instalar los controladores OBDC para MySQL disponibles en el sitio web www.mysql.com.
Tras la instalación se podrá crear un DSN que apunte a la base de datos remota en el servidor y utilizar
Access para acceder a las tablas.
El menú "Abrir base de datos" de Access tiene la posibilidad de abrir una base de datos definida por ODBC.
Para utilizar el sistema de directorios restringidos mediante Bases de Datos MySQL permite más
opciones que el tradicional .htaccess como el almacenamiento de datos completos de usuarios que
dispongan de login y contraseña o la creación de grupos para restringir diversos accesos de directorios
dependiendo del grupo al que pertenezca cada usuario. Además se agiliza el proceso de inserción y
modificación de los datos.
El manejo de usuarios, grupos y directorios restringidos mediante Bases de Datos MySQL se realiza con
un panel de control en el cual se podrá dar de alta usuarios, modificar datos o enviarle un e-mail a un
usuario automáticamente con la contraseña.
Se disponen dos formas para la restricción de directorios mediante MySQL:


A través del Servidor Virtual de Apache.
Mediante páginas realizadas en lenguaje PHP.
Para la restricción mediante el Servidor Virtual de Apache tan sólo se configurarán una serie de directorios
web a los que no se podrá acceder si no es a través de los datos que se encuentren en una tabla de una
Base de Datos específica.
Mediante páginas realizadas en lenguaje PHP se deberá de crear un Panel de Control mucho más avanzado
en el cual se podrá administrar mejor la restricción de accesos a determinados grupos de usuarios de una
Base de Datos. Un ejemplo de este tipo de restricciones lo podemos encontrar en la aplicación PHPNuke,
un portal Web completo basado en programación PHP y que utiliza Base de Datos en MySQL.
Descargar