Autor
|
Tema: LOGIN EN PHP, CERRAR SESION (Leído 24,348 veces)
|
chispita68
Desconectado
Mensajes: 39
|
Soy nuevo en php y bases de datos mysql, estoy en un problemas, en una pagina para ingresar al sistemas al momento de cerrar sesion no se como evitar regresar a la pagina donde estan sus datos, y se reenvien de nuevo, asi como la session de msn donde quieres regresar y te redirecciona a su pag principal, espero su ayuda
|
|
|
En línea
|
Para sobrevivir, te aferras a todo lo que conoces y entiendes y lo llamas realidad.... Pero el conocimiento y la comprensión son ambiguos. La realidad puede ser una ilusión.... Todos los seres humanos viven con las creencias equivocadas ¿No es esa otra manera de ver las cosas?
|
|
|
Zazú
Desconectado
Mensajes: 116
|
Es muy simple! Mira... logout.phpif(!isset($_SESSION[algo ])){ } else { } ?>
Eso comprueba primero que nada si existe la session algo si no existe lo manda al index, si existe destruye todas las sessiones y lo manda al index, ahi no se volverian a mandar los datos Espero que te sirva!
|
|
|
En línea
|
|
|
|
jdc
|
Es buena la idea pero seria vulnerable a csrf...
Por ejemplo si te paso un link con un iframe a "tupagina.com/logout.php" se te cerraria la session al igual que si se ejecuta esa pagina desde una imagen en php xD creo que se podia quizas me estoy carrileando pero deberia funcionar...
|
|
|
En línea
|
|
|
|
Zazú
Desconectado
Mensajes: 116
|
jaja tenes razón, igual así no lo uso yo le pase algo para que se guie un poco Lo de la imagen.. creo que no funcionaria, tendría que probar despues. Suerte
|
|
|
En línea
|
|
|
|
jdc
|
Uffff....Deberias ver lo que hace WHK con una imagen xDDDDDDDD
|
|
|
En línea
|
|
|
|
jdc
|
¬¬ no preguntes por privado, lo mejor es tratar los temas en el foro ademas asi nos evitamos la sociabilizacion Se me ocurre para arreglar el csrf (no lo he probado) en el login podrias ingresar un hash al azar y almacenarlo en la base de datos justo en ese momento e iniciar una session con ese hash y luego compararlo con el de tu db Es mas sencillo de lo que parece solo entiendelo xD
|
|
|
En línea
|
|
|
|
chispita68
Desconectado
Mensajes: 39
|
No tendria caso que se genera la clave al azar, en la mayoria de los sistemas, uno escribe su propia contraseña,
|
|
|
En línea
|
Para sobrevivir, te aferras a todo lo que conoces y entiendes y lo llamas realidad.... Pero el conocimiento y la comprensión son ambiguos. La realidad puede ser una ilusión.... Todos los seres humanos viven con las creencias equivocadas ¿No es esa otra manera de ver las cosas?
|
|
|
jdc
|
Mira no lo voy a codear xD pero aqui tienes una idea
(login teorico)
Variables:
$numero_al_azar = rand(1,1999) $usuario = chispita $password = 1234 $hash_anti_csrf = md5($usuario,$numero_al_azar)
$hash_anti_csrf lo guardas en la db si el login es correcto y en una session o cookie, nada que ver con la contraseña.
(logout teorico)
existe la session de logueado? no = al index si, $hash_anti_csrf es igual al de el usuario? no = al index si, cierra session y manda al index
en la url de logout podrias recibir tu hash por get para que quedara algo como tupagina.com/logout.php?hash=234hj234h o que se yo
|
|
|
En línea
|
|
|
|
Zazú
Desconectado
Mensajes: 116
|
jaja yo te lo codearia ya mismo, no me costaria pero estoy ocupado.. Lo que el dice es así... Al crear la session de login, insertar en una tabla un hash con el usuario que logeo, al cerrar session que se envie por post o get el hash que generaste y si es correcto, que cierre la session en caso contrario no, si la borra que borre de la tabla tambien el hash y el usuario.. Perdon por repetir las palabras,estoy ocupado ahora te lo codeo Responde aca, no te pienso responder un pm
|
|
|
En línea
|
|
|
|
braulio--
Wiki
Desconectado
Mensajes: 896
Imagen recursiva
|
Parece que no hayan creado un logout anti-CSRF jamás. En el login se crea una variable en $_SESSION que se llame token, algo así: /* Login succesful */ $_SESSION['token'] = md5(sha1(rand(1,100000)); // Por ejemplo
Luego, se pone esto como enlace al logout : <a href="logout.php?token=<?php echo $_SESSION['token']; ?>">Logout </a>
Y en logout.php if ($_SESSION['token'] == $_GET['token'] ) { }
En mi opinión usar la base de datos no es necesario.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Broma, cerrar sesion mensenger, cerrar ventanas y mostrar mensaje???
Programación Visual Basic
|
nb248077
|
2
|
2,826
|
11 Diciembre 2012, 20:37 pm
por Stakewinner00
|
|
|
[Resuelto] Cerrar sesion por inactividad
Desarrollo Web
|
peib0l
|
2
|
13,726
|
4 Mayo 2015, 19:48 pm
por peib0l
|
|
|
¿Ordenador cada vez más lento? Cerrar sesión en Google.
Dudas Generales
|
cixert
|
0
|
1,963
|
14 Abril 2018, 19:11 pm
por cixert
|
|
|
¿No se puede cerrar sesión en Facebook Messenger? Conoce el truco para lograrlo
Noticias
|
wolfbcn
|
0
|
1,063
|
6 Septiembre 2018, 14:17 pm
por wolfbcn
|
|
|
Imposible Iniciar sesión en login php
PHP
|
camera
|
4
|
2,760
|
25 Marzo 2019, 11:41 am
por animanegra
|
|