Sistema de Panel
Con la versión 2.3, el acceso desde el archivo Panel es OBLIGATORIO, ya que, explicarlo es muy difícil, debido a que hemos integrado configuraciones 2FA.
Te dejamos la parte esencial del código para que puedas decidir que usar al iniciar sesión, cambiar la contraseña, entre otras.
=1){
$checking = consulta_mysqli_where("id, id_user, accion","check_users","check_users.url","'$check'");
$id_user = $checking['id_user'];
if($checking['accion'] == "check_user"){
if(actualizar_datos_mysqli("users","`checked_status` = 'TRUE'","id",$id_user) == TRUE){
eliminar_datos_con_where("check_users","id_user",$id_user);?>
=1 ){
$consulta = consulta_mysqli_where("name, last_ip, phone","users","email","'$correo'");
$ip_acceso_completado = (string)$consulta['last_ip'];
$ip_usuario = (string)$_SERVER['PHP_SELF'];
?>
Recupera tu contraseña
Hola , estás a punto de restaurar tu contraseña, a continuación te daremos opciones de cómo poder restaurar tu contraseña.
Tu dirección ip es la siguiente:
close();
if($opcion == 1){
if(resetear_contra($_POST['correo']) == TRUE){
?>
close();
if($contra == $new_contra){
$consulta_id = consulta_mysqli_where("id","users","email","'$correo'");
if(actualizar_contra($consulta_id['id'],$contra) == TRUE){
?>
close();
if($contra == $contra_repeat){
echo registro("users",$_POST['txtName'],$_POST['txtCorreo'],$_POST['txtPassword'],6, $factor);
header("refresh:1;");
}else{
?>
close();
if(leer_tablas_mysql_custom("SELECT id_user FROM check_users WHERE url = '$token' && accion = 'cambiar_contra'") >=1){
$consulta = consulta_mysqli_where("id_user","check_users","url","'$token'");
$consulta_id = consulta_mysqli_where("name","users","id",$consulta['id_user']);
if(isset($_POST['actualizar_contra'])){
$conexion = conect_mysqli();
$token = mysqli_real_escape_string($conexion, (string) $_GET['cambiar_contra']);
$contra = mysqli_real_escape_string($conexion, (string) $_POST['contra']);
$repit_contra = mysqli_real_escape_string($conexion, (string) $_POST['repit_contra']);
$conexion -> close();
if(eliminar_datos_con_where("check_users","url","'$token'") == TRUE){
if($contra == $repit_contra){
if(actualizar_contra($consulta['id_user'],$contra) == TRUE){
?>
Cambio de contraseña
Un gusto volver a verte , en unos momentos podrás restaurar tu contraseña, a continuación le pediremos que llene la nueva solicitud.
Versiones menores a la 2.3
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:
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.
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.
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:
Swal.fire(
'Falló',
'El inicio de sesión ha fallado, favor de volver a intentarlo.',
'error'
)
";
}
}
?>
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.
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.
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: