Search

En JosSecurity agradecemos cualquier ayuda para poder mantener este proyecto, si deseas donar por favor da clic en el botón de al lado y te daremos algunas opciones para hacerlo.

Iniciar sesión de manera rápida con php

Desde la versión 2.2.1, los Jossitos “login” y “login_admin” han desaparecido para darle paso al mejorado “login”.

Actualmente dispones de 3 formas para permitirle a los usuarios un acceso, esto depende del Jossito que uses, a continuación, te mostraremos los tres tipos de implementación de accesos.

Seguridad FA

La seguridad FA ya viene configurado con la lógica de acceso para ser implementado de manera directa desde el sistema de panel que viene por defecto.

A continuación, te daremos un ejemplo de su implementación:

				
					<?php
if (isset($_POST["ingresar"])){
        if(recaptcha() == TRUE){
            if(!isset($_POST['cookies'])){
                $cookies = "no";
            }else{
                $cookies = "si";
            }
            if(FA($_POST['txtCorreo'],$_POST['txtPassword'],$cookies) == "2fa"){
                ?>
                <script>
                    Swal.fire(
                    'Listo',
                    'Hemos detectado que tiene activado el acceso por alta seguridad, favor de usar tu método de acceso.',
                    'success'
                    )
                </script>
                <?php header("refresh:1;"); ?>
                <?php
            }else{
                $check = FA($_POST['txtCorreo'],$_POST['txtPassword'],$cookies);
                if($check == false){
                    ?>
                    <script>
                        Swal.fire(
                        'Falló',
                        'La contraseña es incorrecta.',
                        'error'
                        )
                    </script>
                    <?php
                    header("refresh:1;");
                }
            }
        }else{
            ?>
            <script>
                Swal.fire(
                'Falló',
                'No ingresaste el recaptcha.',
                'error'
                )
            </script>
            <?php
            header("refresh:1;");
        }
    }
?>
				
			

acceso por logins

Esta es una versión sin la seguridad FA, se recomienda usarla solamente para mantener la lógica de inicios de sesión, aquí simplemente redirecciona al usuario dependiendo de su rol.

Al igual que el sistema FA, solo puedes usarlo mientras estés usando la plantilla de panel.

				
					<?php
if(isset($_POST['login'])){
// La parte de users es la tabla donde investigará al usuario en la base de datos
    logins($_POST['correo'],$_POST['contra'],"users",$_POST['cookies']);
}
?>
				
			

acceso por login nativo

Este sistema permite customizar al 100% el acceso al usuario y no va a depender del uso de la plantilla de panel. Para usarla deberás ponerle la lógica de acceso.

				
					<?php
if(isset($_POST['login'])){
    //Primero creamos un acceso al jossito login
    $check = new login;
    //Después mandamos los datos de acceso
    $check -> correo = $_POST['correo'];
    $check -> contra = $_POST['contra'];
    $check -> cookies = $_POST['cookies'];
    //Estos datos podrás cambiarlos para tu comodidad
    
    //Con esto podrás modificar la ruta a donde mandará despues de un inicio de sesión exitoso, por defecto es "admin".
    $check -> redireccion = "users";
    //Con esto podrás modificar si deseas que cheque si es un administrador o no, en el caso de no ser un administrador no le permitirá el acceso, por defecto tiene un TRUE, si pones un FALSE no hará esta comparación sino que solo realizará el login.
    $check -> modo_admin = FALSE;
    
    //Con esto podrás compilar los datos puestos y ejecuta el login.
    $check -> compilar();
    $check -> ejecutar();
}
?>
				
			

JosSecurity te ofrece dos formas para poder iniciar sesión y un checador, la primera es invocando a un jossito llamado login y la otra es invocando a login admin.

cada tipo de login hace cosas muy semejantes, pero tienen una diferencia.

deberás crear un formulario que trabaje directamente con el archivo para evitar recargar el sitio web y dar un login, en los siguientes casos se mostrará un formulario con el nombre de “ingresar”.

Checador de logins

Existe un jossito llamado “logins”, este te ayudará a organizar el sistema de logins pues, existen dos formas de iniciar sesión, una es la forma tradicional el cuál no checa si el usuario es administrador, editor o colaborador ya que, le da acceso sin importar su rol y el otro es el jossito que sí checa si es o no un administrador, editor o colaborador.

Este jossito llamado “logins” hace una comparación donde checa que jossito debe usar dependiendo del inicio de sesión que le pide el usuario, como ejemplo podemos ver que un usuario administrador accede, el jossito “logins” captura los datos y checa el id_rol del usuario, al ser este un administrador, el jossito usa al otro jossito llamado “login_admin” para darle acceso y redireccionarlo a “./admin/”. Otro ejemplo es donde un cliente accede desde la página del panel, el jossito “logins” checa el id_rol y se da cuenta que, es un cliente así que decide llamar al jossito “login” para darle acceso y redireccionarlo a “./users/”.

A continuación te daré un ejemplo:

				
					<?php
    if (isset($_POST["ingresar"])){
        if(recaptcha() == TRUE){
            logins($_POST['txtCorreo'],$_POST['txtPassword'],"users","./admin/","./users/");
        }
        if (recaptcha() == FALSE){
            echo "
            <script>
                Swal.fire(
                'Falló',
                'El inicio de sesión ha fallado, favor de volver a intentarlo.',
                'error'
                )
            </script>";
        }
    }
?>
				
			

Login tradicional

El sistema de login consulta a la base de datos y le da acceso a TODOS los usuarios sin importar su rol, se recomienda usar a este jossito de la siguiente manera.

				
					<?php
    if (isset($_POST["ingresar"])){
        login($_POST['txtCorreo'],$_POST['txtPassword'],"users","./users/");
    }
    ?>
				
			

En el primer jossito se le insertará el atributo que llenó el usuario como correo, así mismo la contraseña que ingresó, después le ponemos la tabla a consultar, en este caso se llama “users” el cuál viene por defecto en la instalación, finalmente pones la url que redirigirá si se lleva un login correcto.

Login de administración

Este jossito hace lo mismo que el login tradicional pero, no le permite el acceso a cualquier usuario sino que, solo le permite acceso al administrador, editor y colaborador.

				
					<?php
    if (isset($_POST["ingresar"])){
        login_admin($_POST['txtCorreo'],$_POST['txtPassword'],"users","./admin/");
    }
    ?>
				
			

Volvemos a insertar los datos anteriores pues, necesita la misma información que un login tradicional.

Por defecto

Cada que haces un login por defecto se crea una sesión llamada “id_usuario”, podrás usarlo más adelante para traer información del usuario.

se recomienda usarlo de la siguiente manera:

				
					<?php

$iduser = $_SESSION['id_usuario'];

?>
				
			

Iniciar sesión de manera rápida con php