Introducción.

Antes de leer esta información sería conveniente que mirases por encima las páginas de bienvenida de Base de datos --1--, Base de datos --2--, Base de datos --3-- y Base de datos --4--.
He mejorado un poco Base de datos --4--:
  • He recurrido a copiar un script para controlar la seguridad por usuarios en lugar de hacerlo con un código de mi invención. El autor es Paul Kruyt. El script ofrece la posibilidad de guardar los usuarios y las claves como texto o, en una base de datos. En esta versión utilizo la misma base de datos donde se guarda toda la información de la aplicación. El script original tiene una tabla para almacenar en sus registros los usuarios y las claves. He añadido dos columnas a esta tabla, en cada una de ellas figura la clave principal del registro de la tabla personal, o de la tabla organizadores con la que está relacionado el correspondiete registro. Aparentemente se trata de una nueva relación varios a varios pero no es así. La tabla organizadores mantiene una relación uno a uno con la tabla que almacena los datos de seguriadad -phpSPusers-, y la tabla personal también mantiene una relación uno a uno con la misma tabla aunque como ya digo, a la hora de consultar el esquema de la base de datos da la impresión de que se trata de una relación varios a varios. Lo que ocurre es que cuando un registro de la tabla phpSPusers almacena datos relacionados con un registro de la tabla personal la columna correspondiente a la clave principal de la tabla organizadores tiene valor "0" y viceversa, produciéndose así dos relaciones uno a uno.
  • Para que puedas comprobar algo de todo esto puedes utilizar el usuario "visitante" con la clave "navajito" en el menú flotante. Una vez identificado obtendrás un menú pero sólo podrás acceder a algunas páginas. Para acceder al resto de las páginas deberás registrarte o ponerte en contacto con el administrador para que te facilite un usuario y una clave. El administrador soy yo, estoy encantado de conocerte, no tengo ningún inconveniente en facilitarte el acceso a las páginas que te permiten modificar, agregar y eliminar registros pero antes me gustaría conocerte. Puedes ponerte en contacto conmigo por correo [carlos@carloszcom.com] o por teléfono [667-45-39-37]. Te anticipo que la capacidad de almacenamiento disponible para esta base de datos es muy limitada.
  • Regístrate como alumno. Rellena el siguiente formulario para agregar un registro en la tabla personal. Recuerda los campos usuario y clave para entrar en la base de datos con privilegios de visitante y competencias de alumno.
    • Podrás ver agregar y eliminar registros a la tabla participantes siempre y cuando estén relacionados con el registro de la tabla personal que tu hayas agregado.
    • Podrás igualmente ver, eliminar o modificar el registro de la tabla personal que tu hayas agregado.
    • Podrás ver toda la información de las tablas organizadores y formacion.
    • No podrás ver, eliminar o modificar registros de la tabla personal ni de la tabla participantes que tu no hayas agregado.
    Nombre:
    Apellidos:
    Calle:
    Código Postal:
    Población:
    Nacimiento: Formato recomendado: año/mes/día, aaaa/mm/dd.
    Sexo:
    Sueldo:
    Usuario:
    Clave:
    Grupo: Privilegios de visitante y competencia de alumno.
  • Regístrate como profesor. Recuerda los campos usuario y clave para entrar en la base de datos con privilegios de visitante y competencias de profesor.
    • Podrás ver y modificar registros a la tabla participantes siempre y cuando estén relacionados con registros de la tabla formacion que a su vez estén relacionados con el registro de la tabla organizadores que tu hayas agregado.
    • Podrás igualmente ver, eliminar o modificar el registro de la tabla organizadores que tu hayas agregado así como los registros de la tabla formacion relacionados con él.
    • No podrás ver, eliminar o modificar registros de la tabla organizadores, formacion y participantes que tu no hayas agregado.
    Lugar de organización:
    Dirección:
    Organizador:
    Usuario:
    Clave:
    Grupo: Privilegios de operador y competencia de profesor.
  • Ataques. Como vereis, las páginas muestran una cantidad de datos que hacen al sitio muy vulnerable, se trata de una aplicación experimental por lo que toda esa información me sirve como apuntes. He invitado a algunos compañeros de los grupos de noticias a que ataquen amablemente este sitio para explorar posibles debilidades. Se trata de un juego en el que ambos podemos ejercitar nuestras habilidades. Si te decides a atacar me gustaría saber que resultados has obtenido. Curiosa forma de hacer amigos.
Subir. >>>>>>

Esquema de la base de datos.

Por comodidad he utilizado la ventana de relaciones de Access.
Subir. >>>>>>

Definición de las tablas.

Subir. >>>>>>

Código fuente.

A continuación expongo un esquema de las páginas que utilizo para acceder a la base de datos con enlaces a sus correspondientes códigos. Las páginas sangradas más a la derecha responden a la petición de las páginas sangradas más a la izquierda. Verás que algunas páginas están repetidas, algunas de las que no lo están son muy parecidas entre sí. Estoy convencido de que se debe hacer un esquema parecido a este en algún momento al empezar a diseñar el sitio. Para comprender mejor el cometido de cada página busca una relación entre este esquema y el menú flotante. Disminuye al mínimo el tamaño de la fuente para ver el esquema completo sin tener que utilizar la barra de desplazamiento. Puede haber diferencias entre éste codigo y el de las páginas que en realidad se muestran, esto es debido a que he podido pasar por alto algunas actualizaciones pero de todas maneras queda reflejado lo que es esencial, perdona las molestias.
Subir. >>>>>>