Header Ads

Login seguro en PHP, Mysql y Ajax aplicando el patron MVC

Buen dia amigos aquĆ­ les traigo un ejemplo de como ejecutar un login seguro aplicando el patron MVC.

Abrimos el PhpMyAdmin y creamos la base de datos de nombre login_mvc y creamos una tabla de nombre usuarios con la siguiente estructura


el campo password le ponemos de tipo text porque al momento de guardar la contraseƱa encriptada se genera una cadena grande.

Una vez creada la base de datos crearemos la estructura de los archivos.



index.php


controllers/template.php

views/template.php

En este archivo es donde agregamos las rutas de los css y de los js que utilizaremos en nuestro proyecto.


En esta parte hacemos un llamado a enlaceController que se encargara de recibir los parametros via GET de siguiente forma: index.php?action=ingreso.
Donde hara el llamado al modelo que se encargara de mostrar la vista segun la accion que nos envie y tambien donde validaremos que acciones solo estan permitidas para mostrar la vista, en caso de que alguien que tenga conocimiento de rutas en los navegadores quiera acceder al sistema tratando de ingresar otro parametro.



Todas las vistas que se mostraran en el navegador se guardan en esta ruta
views/modules/ingreso.php
views/modules/inicio.php
views/modules/salir.php

Donde no se guardara todo el html porque eso ya esta en template.php, en esas vistas solo se guardara estructuras de las vistas que queremos mostrar segun la accion que solicita desde el controlador.

ingreso.php



Ahora si programaremos el acceso seguro desde la vista ingreso.
Creamos un archivo 
views/js/validarIngreso.js
views/ajax/ingreso.php

en validarIngreso.js crearemos una funcion llamada validarIngreso(), que nos ayudara a evitar la entrada de caracteres especiales desde la vista y asi evitar el sqlinjection


Una vez hecho esto crearemos la accion del boton btnEnviar que se encargara de enviar la informacion de acceso desde el formulario via ajax para entrar al sistema.


En ingresoController() -> Nos encargamos de recibir la informacion para procesarla enviandola al model y el model respondiendo si es valida o no para continuar con el acceso al sistema y de genera contraseƱas incorrectas activara un contador de 3 intentos que ya no le permitira acceder al sistema hasta que el administrador le vuelva habilitar.


Para la conexion lo hacemos con PDO, es una conexion segura aparte que si mas adelante queremos cambiar de gestor de base de datos lo podemos hacer sin daƱar la programacion.


En el siguiente link les dejare para que puedan descargar todos los archivos desde mediafire.



No hay comentarios

Con la tecnologĆ­a de Blogger.