Autentificación PHP

Un sistema de autentificación es una técnica de seguridad para asegurar de que la persona que visita la página es quien dice ser. Esto, claro, sabiendo que esa persona es conocida, se podrá dar libre entrada a más aspectos de la página que si fuese una persona desconocida. Se supone que, si están leyendo este tema, ya conocen lo que es un sistema de autentificación y lo que se desea realizar es elaborar uno para vuestras páginas.
Modelo de un sistema de autentificación
Empezaremos  por concretar en un ejemplo para elaborar la autentificación de usuario en unas páginas web, que os valdrá para programar luego las páginas concordándose al bosquejo.

 

diagrama de funcionamiento de un sistema de autentificacion

En la imagen se puede apreciar el bosquejo, que comienza por la página donde se pide un usuario y contraseña para entrar a la aplicación de acceso exclusivo.
Los datos de autentificación (usuario y contraseña redactados en la página inicial) se remiten a la página dibujada con línea de puntos, que se confía de realizar una comprobación de dichos datos del usuario. Según los datos de autentificación, se redirecciona al navegador a la página de la aplicación que es exclusiva, en caso de que sean correctos, o a la página donde se vuvelve a redactar el usuario/contraseña, en caso de que sean erróneos.

La aplicación de entrada exclusiva, aparte de enseñar las funcionalidades que se querían cuidar con usuario contraseña, debe de hacer unas demostraciones de seguridad para estar al corriente si se ha pasado con éxito el asunto de autentificación o si se está pretendiendo entrar de forma no admitida a esa página. Este es el esquema básico, que espero que se comprenda bien. Ahora, hay que ver ciertas preguntas que podría hacerse el lector.

¿Por qué se hace esta comprobación de seguridad dentro de la aplicación? 
Puede ser que alguien conozca la URL de la aplicación de entrada exclusiva y la redactase de forma directa sobre la barra de direcciones del explorador, así que se hace esta demostración para saber que de verdad no se está entrando sin pasar por la página que comprueba si el usuario/contraseña es correcto

¿Cómo se sabe que verdaderamente se ha pasado por la página que evidencia los datos de autentificación?
Esta demostración se podría lograr de distintas formas, así pues, depende de vuestro script de autentificación y el nivel de seguridad que se trate de realizar. Un ejemplo sencillo podría ser el elaborar una variable de sesión en la página que demuestre los datos, si es que eran correctos, y en capa se seguridad de las páginas de entrada exclusiva se comprobaría si esa sesión está o no concreta.

En asunto de querer burlar la seguridad, ¿Cómo puede un usuario acceder a la página de la aplicación si no hay enlaces directos y para pasar a ella se requiere que nos redireccione la página de comprobación del usuario/contraseña?
Pues de distintas formas, para comenzar, el historial de las computadoras de escritorio guarda las URL a las que se ha entrado y cualquier persona pudiese recobrar la URL de vuestra aplicación con entrada restringida. Asimismo se puede probar diferentes URL que pueden imaginarse como viables para la aplicación y esperar a atinar con el nombre de archivo en algún momento, inclusive esta tarea se pudiese encomendarse a un programa para elaborar muchas más pruebas.