12.212 cursos gratis
8.333.446 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Curso de MySQL con PHP

Autor: Ariel Alejandro Wagner
Curso:
9/10 (2 opiniones) |1754 alumnos|Fecha publicación: 10/01/2011
Envía un mensaje al autor

Capítulo 11:

 Mecanismo de Autenticación y Sesiones

En lecciones pasadas, hemos propuesto un modelo de identificación para controlar la autenticación de usuarios mediante un sistema de control llamado “identificación por desafío”. En su oportunidad, hemos utilizado un proceso de gestión y control a través de unos archivos especiales que el servidor Apache en conjunto proporciona. Sin embargo, en su oportunidad, hemos visto que el uso de los mismos se sujetaba a limitaciones funcionales y operativas. Señalamos en su oportunidad estas debilidades y la necesidad del uso de un sistema más eficiente para casos donde se requiere un control más sensible y estricto de los recursos en lo que concierne en materia de seguridad.

Entre otras consecuencias negativas es que a través del sistema que ofrece el servidor Apache en materia de seguridad, no se puede controlar, gestionar y garantizar el uso de las sesiones de los usuarios identificados en el recurso Web. No hay manera de controlar el uso y los movimientos que el usuario realiza durante la explotación del servicio Web. Por tanto, el sistema resulta ineficiente en materia de seguridad operativa del sistema. El uso de sesiones permite y garantiza operatividad robusta en el manejo del control de operaciones con los usuarios.

En efecto, en esta oportunidad, estudiaremos un gestor mucho más robusto y eficiente en materia de seguridad y calidad operativa. Notaremos que este sistema resulta mucho más flexible. Nos permitirá extender sus posibilidades y garantizar a la vez un margen operativo y de seguridad a escala. Para ello, combinaremos el uso robusto de funciones que proporciona el lenguaje PHP más los recursos que proporciona el gestor de base de datos MySQL. Ambos gestores nos permitirán potenciar las funcionalidades y ofrecen un proceso de seguridad, escala y flexibilidad ilimitadas.

Funcionalidad Operativa de Autenticación y Sesiones

El mecanismo consiste en dos áreas específicas de control. A continuación, detallaremos en parte dichas funcionalidades operativas.

  • Autenticación e Identificación
  • Gestión de Sesiones

Autenticación e Identificación de los Usuarios

Para poder identificar al usuario, resulta necesario depender de un mecanismo de reconocimiento. Este reconocimiento puede utilizar muchas alternativas. El sistema más común y generalizado es mediante el uso de un nombre y una contraseña. Ambos campos de información, son almacenados en una base de datos protegida y segura del gestor de administración de bases de datos.

El acceso a este recurso tiene como fin la de gestionar el modelo de autenticación. Este modelo consiste en determinar si el usuario que pretende ser autenticado se encuentra sus datos almacenados en la base de datos. Si sus datos, ambos en este caso, coinciden perfectamente se supone que el usuario es autorizado dado que “es quien dice ser”. Si no existen coincidencia o los datos no son apropiados, se supone entonces que dicho usuario no tiene autorización y por lo tanto “no se puede asegurar si es quien dice ser”.

Para dar mayor margen operativo de seguridad, dado que las contraseñas pueden ser objeto de vulnerabilidades operativas, la información de las contraseñas se suelen encriptar “codificar” mediante un código de cifrado específico. Se puede utilizar MD5, SHA y sus versiones. El lenguaje PHP y el gestor MySQL utilizan modelo de cifrado llamado PASSWORD. Este sistema de cifrado es básico pero bastante eficiente. Para garantizar un mayor modelo de seguridad, se recomienda utilizar MD5 o SHA y algunas de sus versiones. Tanto MD5 como SHA y sus versiones, no pueden ser descifradas. Esto permite garantizar seguridad. Los cifrados realizados por la función PASSWORD son más vulnerables y hay un historial de crackeos, aunque son casos aislados. Por tanto, en materia de sensibilidad, quizá resulte más adecuado un modelo más robusto, por tanto, es un tema a estudiar profundamente.

Los valores de información se almacenan en una base de datos protegidas, las cuales, tienen un control más refinado y seguro que los que proporcionan los archivos .htaccess del servidor Apache. Además de ello, el gestor de base de datos permite determinar quién puede controlar la tabla o base de datos y otorgar a su vez privilegios totalitarios, parcializados o restringidos. Tal es el caso de un control totalitario por parte de un administrador, de un control parcializado para el control de un administrador operativo del recurso y privilegios diferenciados o restringidos para los usuarios del recurso.

Sistema de Sesiones para los Usuarios

El manejo de sesiones resulta crucial durante el proceso de negociación entre el usuario y el sistema. Por ejemplo, si el usuario está realizando alguna gestión online, como por ejemplo, las  compras o una transferencia bancaria. Dado que el sistema se basa en un modelo “no conectado”, comúnmente llamado “stateless”, no existe forma de controlar los estados operativos del sistema y del usuario. El salto de una página a otra implica la pérdida de datos debido a que el modelo es estático y no preserva los estados de las mismas. La única forma de garantizar la permanencia de dichos estados es a través de un mecanismo de sesiones que permita registrar estos procesos. Al registrar dichos procesos, estos mismos se convierten en consistentes y, por lo tanto, podrán ser gestionados correctamente.

El manejo de la sesión del usuario permite controlar que se opere de forma correcta y segura los recursos. La sesión evita que el usuario, por alguna u otra razón, pase de una página a otra y pierda la información o tenga el impedimento de continuar realizando las negociaciones online. Si esto sucede, se podrían plantear varios problemas de inconsistencia. El usuario podría perder el control de lo que está haciendo. Por otro lado, el servidor que ofrece el sistema y la aplicación, no tendría control de lo que ocurre y podría estar otorgando un espacio de trabajo a un usuario no autorizado o podría estar restringiendo el uso de dicho recurso al usuario.

Nuestras novedades en tu e-mail

Escribe tu e-mail:

Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Cursos similares a Curso de MySQL con PHP


  • Vídeo
  • Alumnos
  • Valoración
  • Cursos
1. Windows. Instalación de Apache, MySQL y PHP
El proceso para instalar Apache en Windows es muy sencillo.  Con este video te... [12/10/10]
1.759
Curso con video
2. PHP y MySQL. Aplicaciones Web: PHP y base de datos MySQL (décima parte)
Programación de aplicaciones Web con PHP y MySQL. Ahora te enseñaremos a conectar a... [02/12/08]
3.751  
3. PHP y MySQL. Aplicaciones Web: base de datos MySQL I (séptima parte)
Programación de aplicaciones Web con PHP y MySQL Ahora estudiaremos la Base de... [02/12/08]
3.225  

¿Qué es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail


¿Recibir novedades de Programación? ¡No te costará nada!