Como están? luego de ya tener saldada una duda por parte de Heli0s a quien agradezco enormemente, al final del otro tema le hice una consulta referente a como tomar correctamente los valores que envío por post y asignarselo a los atributos de una clase.
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 <input type="text" maxlength="20" required autofocus name="usuario" />
<input type="password" maxlength="20" required name="pass1" />
<label for="confpasswd">Confirmar Contraseña :
</label> <input type="password" maxlength="20" required name="pass2" />
<input type="text" maxlength="20" required name="nombre" />
<input type="text" maxlength="20" required name="apellido" />
<input type="email" maxlength="50" required name="mail" />
<input type="text" maxlength="20" required name="localid" />
<input type="password" maxlength="50" required name="tipousr" /> <input type="submit" name="login" value="Crear Usuario" />
Que envía dichos datos por post y son utilizados en la siguiente clase
Código PHP:
Ver originalclass 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 __construct
($datos = array()) {
if (isset($datos['usuario'])) {
}
if (isset($datos['pass'])) {
}
}
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->mail = $_POST['mail']; $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!