quiero ver si le parece segura o no ? ya que yo no soy un experto en la materia en cuanto sesiones segura
no mostrare el html ya que eso es básico pero aquí la función que inicia sesión
Código PHP:
Ver original
public function login($f) { //validamos campos vacios if ($f->correo != "") { if ($f->pass != "") { // validamos fomrato de correo electronico $resultados = $this->con->query("SELECT * FROM user WHERE correo='$correo1'"); $data = $resultados->fetch_array(MYSQLI_ASSOC); $correo2 = $data['correo']; $clave = $data['clave']; $resultados->close(); if (password_verify($f->pass, $clave) and $correo1 == $correo2) { $_SESSION['user_emeil'] = $data['correo']; $_SESSION['user_id'] = $data['id']; $_SESSION['user_name'] = $data['nombre']; $token = $this->con->query("UPDATE user SET segure ='{$_SESSION['segure']}' WHERE id='{$_SESSION['user_id']}'"); echo "2"; } else { echo "<div id='mensaje' class='alert alert-danger'>Correo Electrónico o Contraseña incorrectas.</div>"; } } else { echo "<div id='mensaje' class='alert alert-danger'>El Correo Electrónico es invalido.</div>"; } } else { echo "<div id='mensaje' class='alert alert-danger'>El campo Contraseña esta vació.</div>"; } } else { echo "<div id='mensaje' class='alert alert-danger'>El campo Correo Electrónico esta vació.</div>"; } }
y aquí la función que chequea las sesiones esta incluido en todas las paginas que solo serán visible al usuario registrado
Código PHP:
Ver original
public function CheckSesion() { //quitamos el posible SQLInjection del user y password $_SESSION['user_id'] = $this->con->real_escape_string($_SESSION['user_id']); $_SESSION['segure'] = $this->con->real_escape_string($_SESSION['segure']); //checamos que exista $chequear = $this->con->query("SELECT * FROM user WHERE id = '{$_SESSION['user_id']}' and segure = '{$_SESSION['segure']}'"); $existe = $chequear->num_rows; if ($existe == 1) { //volvemos a calcular un segure $prueva = $_SESSION['segure']; $token = $this->con->query("UPDATE user SET segure ='{$_SESSION['segure']}' WHERE id='{$_SESSION['user_id']}'"); $chequear->close(); } else { exit; } } else { exit; } }
en el formulario de inicio sesión el chequeo por si ya esta logiado solo redirecciona a la pagina de bienvenido usuario y en bienvenido usuario es donde se comprueba la sesion
Código PHP:
Ver original
<?php } else { } ?>