Nueva pregunta

Pregunta:

Fecha: 21-02-2019 13:25:00 (En Español)

Hola amigos quisiera saber saber como evitar que el usuario ingrese por la barra de direcciones burlando el login[No resuelta]

<ul class="nav navbar-nav flex-row justify-content-between ml-auto border border-light ">
  
                <li class="dropdown order-1">
                    <button type="button" id="dropdownMenu1" data-toggle="dropdown" class="btn btn-danger dropdown-toggle">Entrar <span class="caret"></span></button>
                    <ul class="dropdown-menu dropdown-menu-right mt-2">
                       <li class="px-3 py-2">
                           <form action ="controlador/login.php" method="POST" class="form" role="form">
                                <div class="form-group">
                                    <input type="text" name="usuario" class="form-control" id="exampleDropdownFormEmail2" placeholder="Usuario" title="se necesita un usuario"required>
                                </div>
                                <div class="form-group">
                                    <input type="password" name="password" class="form-control" id="exampleDropdownFormPassword2" placeholder="Contraseña" title="se necesita contraseña"required>
                                </div>
                                <div class="form-group">
                                    <button type="submit" class="btn btn-primary btn-block">Inicio de session</button>
                                </div>
                                <div class="form-group text-center">
                                    <small><a href="#" data-toggle="modal" data-target="#modalPassword">Olvidaste contraseña?</a></small>
                                </div>
                            </form>
                        </li>
                    </ul>
                </li>
            </ul>


<?php
include("../modelo/conexion.php");
$user= $_POST['usuario'];
$pass= $_POST['password'];

$con = new conexion;
$con->login($user, $pass);
$con->cerrar();
?>


[b
conexion.php:
][/b]

<?php
class conexion{
	private $conexion;
	private $server="localhost";
	private $usuario="root";
	private $pass="";
	private $bd="iglesia";
	private $user;
	private $password;


public function __construct(){
 $this->conexion = new mysqli($this->server, $this->usuario,$this->pass, $this->bd);
if ($this->conexion->connect_errno) {
	die ("fallo al conectar: (".$this->conexion->connect_errno.")");
}
}
public function cerrar(){
	$this->conexion->close();
}
public function login($usuario, $pass){
 $this->user=$usuario;
 $this->password=$pass;

 $query="SELECT id, nombre, usuario, password FROM user WHERE usuario = '".$this->user."'and password='".$this->password."'";
 $consulta = $this->conexion->query($query);
 if ($row = mysqli_fetch_array($consulta)) {
 	session_start();
 	
 	$_SESSION['user']=$user;
    
    
 	header("Location:../vista/principal.php");
 }else{
 	
 	
 	echo "incorrecto";
 }
}
}
?>


<?php 
session_start();
require_once '../modelo/conexion.php'; 

?>
<!doctype html>

<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="../css/bootstrap.min.css" >
    <script defer src="https://use.fontawesome.com/releases/v5.3.1/js/all.js" integrity="sha384-kW+oWsYx3YpxvjtZjFXqazFpA7UP/MbiY4jvs+RWZo2+N94PFZ36T6TFkc9O3qoB" crossorigin="anonymous"></script>
    <style>
        .slider{
background:url("../img/ibca2.png");
height: 94vh;
background-size:100% 100%;
background-position: center;
}
header{

}

Etiquetas: HTML - PHP - PHP Avanzado - PHP header - Pregunta - Web Votos: 0 - Respuestas: 2 - Vistas: 20 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 21-02-2019 13:38:37 usa tu variable global $_SESSION['user'] para ver si el usuario ya a ingresado correctamente a su perfil. Esto lo tendras que hacer en cada una de tus paginas. si no a ingresado correctamente, lo haces redirect a la pagina login.

    Un ejemplo:

    
        if(isset($_SESSION['user'])){
    
          //datos para esta pagina.
        
        }
        else{
            redirect('login.php');
        } 
    
    
      Votos: 1 - Link respuesta
     
  • Fecha: 25-02-2019 14:31:17 Una forma un poco más compacta del código de Edgar es esta: al inicio de tu página colocas este código:

    session_start();
    if(!isset($_SESSION['user'])) {
        header('Location:index.html');
        die();
    }
    
    // El código de tu página aqui


    De esta manera si el usuario no esta logeado, automáticamente se le redirige a otra página (index.html en este caso) sin tener que meter el contenido de la página dentro del lazo if()
      Votos: 1 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com