Pruebas para manejo de directorios con accesos protegidos por clave

Por favor, introduzca usuario y clave:

Usuario:
Clave:

Manejo de directorios y ficheros con accesos protegidos por clave

La idea es ofrecer un espacio en nuestro servidor a nuestros clientes para poder compartir archivos. Esto se consigue a través de un directorio general para todos los clientes y otro particular para cada cliente.

Al directorio general tendrán acceso de lectura todos los clientes, aquí podremos subir noticias, circulares, etc.

Estructura de los directorios a manejar:

  • Carpeta "clientes":
    • Carpeta "cliente1":
      • Fichero "cliente1.txt"
      • Fichero "cliente1.doc"
      • Fichero "cliente1.pdf"
    • Carpeta "cliente2":
      • Fichero "cliente2.txt"
      • Fichero "cliente2.doc"
      • Fichero "cliente2.pdf"
    • Fichero "general.txt"
    • Fichero "general.doc"
    • Fichero "general.pdf"
    • Fichero "general.xls"
    • Fichero "general.htm"
    • Fichero "general.desconocido"

Usuarios

Funciones

Administradores
(nivel 0)
Cliente1
(nivel 1)
Cliente2
(nivel 1)
Operaciones en el directorio "clientes":
Lectura de archivos Si Si Si
Escritura de archivos Si No No
Borrado de archivos Si No No
Operaciones en el directorio "cliente1"
Lectura de archivos Si Si No
Escritura de archivos Si Si No
Borrado de archivos Si Si No
Operaciones en el directorio "cliente2"
Lectura de archivos Si No Si
Escritura de archivos Si No Si
Borrado de archivos Si No Si

El nombre de usuario, la clave de acceso y el nivel de permisos se controlan mediante MySQL.

Por la situación del directorio "clientes" no se puede tener acceso nada más que desde nuestros programas. La configuración del servidor impide cualquier acceso externo.

Podemos implementar todo tipo de restricciones en cuanto al tipo y tamaño de archivos a subir.

Podemos "obligar" a abrir un archivo con una aplicación determinada (ya implementado para archivos pdf, doc y xls), para evitar que nos ejecuten algún script que suban con una extensión falsa.

Funcionamiento:
index.php
  • include "comprueba.php";
  • Muestra los datos y las opciones
  • Desconexión: desconexion.php
  • Abrir un archivo: abrir_archivo.php
  • Borrar un archivo: borrar_archivo.php
comprueba.php
  • Si no se ha iniciado sesión, redirige a "entrada.php"
entrada.php
  • Formulario de autentificación que se autoenvía
  • Comprobación de usuario y clave en la base de datos
  • Si son correctos, guarda usuario y clave en la sesión y redirige a index.php
  • Contiene estas aclaraciones
desconexion.php
  • Borra la sesión
  • Redirige a index.php
abrir_archivo.php
  • include "comprueba.php";
  • Abrimos el archivo en una nueva ventana con la aplicación correspondiente si la hemos definido
borrar_archivo.php
  • include "comprueba.php";
  • Intentamos borrar el archivo e informamos del resultado de la operación
  • Enlace a "index.php"

El programa se complementa con un directorio "imagenes" que contiene iconos de archivos y carpetas.


© Luciano 2.006 - www.luciano.es