Este Sistema de Descarga de Productos con Registro de Usuarios, le permite al usuario final, posterior a un registro con validación por correo electrónico y logueo en el sistema, descargar los productos publicados en una landing page de libre acceso.
Video Explicativo
Integración de Aplicaciones para el Sistema de Descarga de Productos con Registro de Usuarios
Para el desarrollo del Sistema de Descarga de Productos con Registro de Usuarios se integró la lógica del gestor de archivos, con la lógica del portal pdf unido a la lógica del Sistema de Inicio de Sesión con Verificación de Correo Electrónico
Con el gestor de archivos, se sube y se publica la información que va estar disponible en la página de acceso libre, esta página de libre acceso se conectó con el gestor de archivos para la aplicación del portal pdf, pero los usuarios no podrán descargar ninguna información sino se registran autenticándose con correo de verificación, este último proceso se realiza con el sistema de inicio de sesión.
Casos de Uso del Sistema de Descarga con Registro de Usuarios
Una aplicación como está podría ser muy útil para adquirir correos de usuarios interesados orgánicamente en tus productos, para luego ofrecerles promociones o crear una news letters, un sistema de envío de correos por suscripción.
Se podría también crear una versión con autenticación vía Whatsapp, Telegram o Mensaje de Texto, pero antes continuaré con lo que llevo creado a una aplicación de tienda, con carrito de compras, tal vez en el futuro haga una integración con PayPal.
Aplicaciones de Tienda Disponibles
En este blog ya he publicado varias aplicaciones de tienda y carrito de compras que podrás ver y descargar a continuación:
Tienda Whatsapp con Inteligencia Artificial
Sistema de tienda en línea con correo de confirmación
Sistema de Tienda en Línea con Servicios de Taller en PHP y MySQL
Tienda en Línea con Integración de Pagos PayPal y Control de Stocks
Demo del Sistema de Descarga de Productos con Registro de Usuarios
En el siguiente enlace puedes acceder a landing page del portal de descarga para realizar las pruebas correspondientes:
https://demoscweb.com/portal-descarga/index.php
El ambiente administrativo los puedes encontrar en el enlace a continuación:
https://demoscweb.com/portal-descarga/admin/login.php
Las credenciales de acceso administrativo son usuario: configuroweb y la contraseña 1234abcd..
Medidas de Seguridad Aplicadas al Sistema de Descarga de Productos en PHP y MySQL
Se ha elevado la seguridad de las aplicación para evitar ataques informáticos y para que puedan ser utilizadas en un ambiente productivo sin mayores inconvenientes a continuación se muestran las mejoras aplicadas al sistema.
1. Validación y Sanitización de Entradas
Una de las primeras líneas de defensa contra los ataques es la validación y sanitización de las entradas del usuario. Esto previene ataques como la inyección SQL y los ataques XSS (Cross-Site Scripting).
- Sanitización: Utilizamos funciones como
filter_var
para limpiar las entradas de datos, eliminando caracteres no deseados. - Validación: Aseguramos que los datos ingresados sean del tipo esperado, por ejemplo, validamos que los IDs sean enteros con
filter_var
yintval
.
2. Consultas Preparadas
Las consultas preparadas son una práctica esencial para prevenir la inyección SQL. Este método separa la lógica SQL de los datos proporcionados por el usuario, asegurando que los datos no puedan alterar la estructura de las consultas SQL.
- PDO (PHP Data Objects): Utilizamos PDO para manejar las consultas a la base de datos con consultas preparadas, lo que agrega una capa adicional de seguridad.
3. Protección Contra CSRF (Cross-Site Request Forgery)
Para prevenir los ataques CSRF, hemos implementado tokens CSRF en nuestros formularios. Estos tokens aseguran que las solicitudes hechas al servidor provengan de fuentes legítimas.
- Generación de Tokens: Generamos tokens únicos utilizando
bin2hex(random_bytes(32))
y los almacenamos en la sesión del usuario. - Validación de Tokens: Al procesar formularios, verificamos que el token enviado coincida con el token almacenado en la sesión.
4. Control de Acceso y Autorización
Aseguramos que solo los usuarios autorizados puedan acceder a ciertas funcionalidades de la aplicación.
- Roles de Usuario: Implementamos roles de usuario (administrador y usuario) y verificamos estos roles antes de permitir acciones específicas.
- Verificación de Sesión: Verificamos que el usuario esté autenticado antes de permitir el acceso a áreas protegidas de la aplicación.
5. Hashing Seguro de Contraseñas
Las contraseñas de los usuarios se almacenan de manera segura utilizando técnicas de hashing.
- Password Hashing: Utilizamos
password_hash
de PHP con el algoritmoPASSWORD_BCRYPT
para crear hashes seguros de las contraseñas. - Verificación de Contraseñas: Utilizamos
password_verify
para comparar las contraseñas ingresadas por los usuarios con los hashes almacenados.
6. Manejo Seguro de Sesiones
El manejo seguro de sesiones es crucial para mantener la autenticación y autorización del usuario.
- Iniciar Sesiones: Utilizamos
session_start()
de manera controlada y verificamos el estado de la sesión antes de realizar acciones. - Destrucción de Sesiones: Destruimos sesiones de manera segura cuando un usuario no es encontrado o cuando se cierra sesión.
7. Redirecciones Seguras
Utilizamos redirecciones seguras para manejar situaciones donde los usuarios intentan acceder a recursos no autorizados o inexistentes.
- Validación de URLs: Redirigimos a páginas seguras y verificadas, como
login.php
olist_users.php
, para evitar accesos no autorizados.
Conoce mi Blog
Te invito que pases por mi blog y lo recorras ampliamente ya que cuento con más de 80 aplicaciones gratuitas y más de 70 aplicaciones de pago que puedes ver en los siguientes enlaces:
Compra de la Aplicación
Para que la aplicación te funcione tanto en un servidor local como en un hosting, requeriras el archivo SQL que contiene la base de datos, las tablas y la lógica que se requiere para el login y se puedan gestionar los procesos de la aplicación, este sistema tiene un costo de 15 USD y lo puedes comprar por medio del siguiente enlace:
Pago vía Global66
Países válidos Argentina, Chile, Colombia, México y Perú.
Pago vía Mercado Pago
Países válidos Argentina, Brasil, Chile, Colombia, México, Perú y Uruaguay.
link.mercadopago.com.co/configuroweb
Pago por Binance
También me puedes hacer el pago de los 15 USD por medio de Binance con USDT a mi cuenta de Binance:
msevillab@gmail.com
Pago vía Western Union
Favor contactarme vía whatsapp para más información en el siguiente enlace:
Otros medios de pago
Si resides en Colombia me puedes hacer el pago por Nequi, por un enlace PSE de Uala o desde fuera por Western Union, cualquier duda me puedes escribir a mi Whatsapp.
Pago por Nequi
Enlace PSE UALA en pesos colombianos
Aprovisionamiento del Sistema
Video Explicativo a nivel general para instalación de aplicaciones PHP
En el video a continuación se muestra el proceso a nivel general:
Antes de cualquier cosa, si llegaste hasta acá excelente y si necesitas cualquier otra aplicación puede que la tenga en mi listado de más de 80 aplicaciones de libre descarga, en el siguiente enlace puedes verlas:
En adición tengo aplicaciones más elaboradas que te podrían servir y que puedes conocer en el siguiente enlace:
Instalación de las aplicaciones necesarias para la puesta a punto del Sistema
Para la puesta a punto del Sistema debes instalar en principio los siguientes software:
XAMPP que te implementa todo lo necesario para un servidor web a nivel local y puedes descarcargar en el siguiente enlace:
https://www.apachefriends.org/es/download.html
Git que es un gestor de repositorios con el que haremos la descarga de la aplicación de mi perfil de GitHub, Git lo puedes descargar en el siguiente enlace:
Visual Studio Code que es un editor de código sencillo, completo, dinámico, inmensamente popular y lleno de todo tipo de plugins que se pueden instalar según infinidad de necesidades que llegues a requerir, en el siguiente enlace puedes descargar la aplicación:
https://code.visualstudio.com/download
Descarga del Sistema
Yo te comparto la carpeta del sistema completo, tanto el software como la base de datos relacionada, cuando te haga el envío la podrás descargar y utilizar sin inconvenientes, si tienes XAMPP instalado y extraes los scripts dentro de la carpeta htdocs, solo te faltará importar la base de datos para que el sistema te funcione.
Descarga e instalación de las aplicaciones necesarias para el funcionamiento del sistema
Debes instalar las aplicaciones que había mencionado al principio XAMPP, Visual Studio Code y Git, te recomiendo que estas aplicaciones las instales con todos los parámetros por defecto, para que las opciones sean iguales a las descritas en el presente tutorial.
PASO 1 ABRE XAMPP
Lo primero que debes hacer es abrir XAMPP desde la tecla Windows y luego XAMPP, posterior a esto te aparecerá una consola como la de la siguiente captura:
PASO 2 ACTIVA LOS SERVICIOS DE APACHE Y MYSQL
Debes activar el servicio de Apache y MySQL, para poder corre archivos con las extensión php y trabajar con un gestor de base de datos como phpmyadmin. En la captura anterior se muestra la consola de XAMPP con los servicios ya activados.
PASO 3 ACCEDE A LA UBICACIÓN DE LOS ARCHIVOS
C:\xampp\htdocs
Dentro de la carpeta htdocs ingresa la carpeta de los archivos que te proporciono.
PASO 7 CONFIGURACIÓN DE LA BASE DE DATOS
Para la implementación de la base de datos en el gestor de phpmyadmin debes primero adquirirla, comprandola desde los medios de pago que están más adelante y luego contáctandome a mi Whatsapp para que te la provea.
Para la configuración debes acceder a la siguiente URL:
http://localhost/phpmyadmin/
Creas la base de datos con el nombre:
portal-descarga
Pulsas en la opción que dice importar, buscas el archivo SQL que te proveo, presionas continuar y de este modo ya estará la aplicación plenamente operativa para su uso.
PASO 4 CONSIDERACIONES IMPORTANTES
Debes editar los archivos a continuación:
El archivo con las credenciales de la base de datos se llama conn.php, se encuentra dentro de la carpeta conn.
Si vas a subir la aplicación a un hosting, debes poner el usuario de la base de datos, el nombre de la base de datos y su contraseña, ya que los parámetros que están definidos por defecto son los de XAMPP.
PASO 5 ACCEDE A LA URL DE LA APLICACIÓN
Ya para este punto la aplicación estará lista para su uso en la siguiente URL:
http://localhost/portal-descarga/index.php