formulario PHP con MYSQL

Iniciado por deimos_hack, 16 Noviembre 2021, 11:28 AM

0 Miembros y 1 Visitante están viendo este tema.

deimos_hack

Hola amigos. Soy nuevo en el foro. Actualmente tengo una página web y me ha surgido cierto problema con el registro de usuarios:
En mi Web mirpas.com, soy desarrollador de contenido y subo formación gratuita a la página, y algunos cursos son privados por lo que requieren de login con usuario y contraseña. El registro está limitado a un formulario PHP que guarda los valores introducidos en el archivo PHP que recibe los datos por POST al archivo que chequea que esos datos estén correctamente y los guarda en una tabla MYSQL. Tengo implementado en el formulario mediante required que los campos no estén vacíos (con el fin de que los usuarios que se registren y accedan a la BBDD y los cursos de mi página), no estén vacíos. Pero desde hace un tiempo, un usuario se registra en la base de datos con un user y contraseña vacíos. No soy capaz de saber cómo lo hace, solo sé que lo hace desde una dirección IP en concreto.
¿Qué puedo estar haciendo mal para que se pueda registrar sin introducir datos en el formulario?¿Se ha descargado el archivo de chequeo y lo modifica online?

La verdad que estoy en blanco y me lleva comiéndome la cabeza desde el verano, que fue cuando empezó todo.
Gracias por las respuestas.

el-brujo

Citarel formulario mediante required que los campos no estén vacíos

Los campos no se deben validar nunca con HTML o javascript, porque es inseguro y se puede saltar fácilmente. Es la parte del cliente y puede modificarlo.

Simplemente coge la misma página, la guarda, quita el "required" y envía el formulario o mucho más fácil con una herramienta tipo burp suite, envía directamente los campos en blanco al form del php

Eso sería lo mismo que añadir los precios de un producto en un formulario en html, cualquier podría modificarlos:

  <input name="Precio" type="text" id="Precio" value="600" />

Si yo cambio el código por 300 pues pasará a costar 300 y debes validarlo por otro lado.

CitarPero desde hace un tiempo, un usuario se registra en la base de datos con un user y contraseña vacíos

Pues en el momento de insertar los datos en la base de datos (form action post) mira el código y valida que no se puedan dejar en blanco. Lo debes hacer en el código PHP, añadir una validación.

Si lo hace siempre con la misma IP pues baneas esa IP y problema resuelto xD Pero si cambia de IP pues estarás siempre igual.

Citar¿Qué puedo estar haciendo mal para que se pueda registrar sin introducir datos en el formulario?

Pues que no estás validando correctamente.

Citar¿Se ha descargado el archivo de chequeo y lo modifica online?

Si, o usando burp suite u otra herramienta.

deimos_hack

Muchas gracias el-brujo. Me has ayudado a seguir unas pautas seguras  ;-)