Heli0s me hablo sobre la seguridad, podrían decirme donde empezar a leer sobre como hacer la recepción de los parametros enviados por post para asignarselos a los atributos de la clase de manera segura?
En lo personal tengo un formulario en html obviamente
Código HTML:
Ver original
<form method="post"> <ul> <li> <input type="text" maxlength="20" required autofocus name="usuario" /> </li> <li> <input type="password" maxlength="20" required name="pass1" /> </li> <li> <input type="password" maxlength="20" required name="pass2" /> </li> <li> <input type="text" maxlength="20" required name="nombre" /> </li> <li> <input type="text" maxlength="20" required name="apellido" /> </li> <li> <input type="email" maxlength="50" required name="mail" /> </li> <li> <input type="text" maxlength="20" required name="localid" /> </li> <li> <input type="password" maxlength="50" required name="tipousr" /> </li> <li class="buttons"> <input type="submit" name="login" value="Crear Usuario" /> </li> </ul> </form>
Que envía dichos datos por post y son utilizados en la siguiente clase
Código PHP:
Ver original
class Usuarios { public $idusuario = null; public $usuario = null; public $pass = null; public $nombre = null; public $apellido = null; public $mail = null; public $tipousuario = null; public $idlocal = null; public $esadmin = null; public $puntos = null; public $salt = null; { { } { } } public function loginUsuario() {... 63 lines } //Funcion de registro de usuarios public function registraUsuario() { $success = false; try { //Tomamos los valores del post $this->usuario = $_POST['usuario']; $this->pass = $_POST['pass']; $this->nombre = $_POST['nombre']; $this->apellido = $_POST['apellido']; $this->tipousuario = $_POST['tipousuario']; $this->idlocal = $_POST['idlocal']; $this->esadmin = $_POST['esadmin']; $this->salt = generaSalt::crearSalt(45); //Nos conectamos a la base de datos $con = new mysqli(DB_HOST, DB_USUARIO, DB_PASSWORD, DB_DATABASE); //Preparamos el query SQL $sql = 'INSERT INTO usuarios VALUES (usuario, contrasena, salt, nombre, apellido, mail, tipo_usuario, id_local)' . 'VALUES (?,?,?,?,?,?,?,?)'; //Creamos la sentencia preparada a utilizar $pre = $con->prepare($sql); $pre->bind_param('ssssssii', $this->usuario, $this->pass, $this->salt, $this->nombre, $this->apellido, $this->mail, $this->tipousuario, $this->idlocal); $pre->execute(); $con->close(); $success = true; return $success; } catch (Exception $ex) { return $ex->getMessage(); } } }
Espero puedan darme una mano para hacer un sitio que tenga un poco de seguridad
desde ya muchas gracias a todos!