elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  LOGIN EN PHP, CERRAR SESION
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: LOGIN EN PHP, CERRAR SESION  (Leído 24,255 veces)
chispita68

Desconectado Desconectado

Mensajes: 39



Ver Perfil
LOGIN EN PHP, CERRAR SESION
« en: 28 Julio 2010, 18:44 pm »

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 Desconectado

Mensajes: 116


Ver Perfil
Re: LOGIN EN PHP, CERRAR SESION
« Respuesta #1 en: 28 Julio 2010, 19:08 pm »

Es muy simple! :P

Mira...
logout.php
Código
  1. if(!isset($_SESSION[algo])){
  2. header("location:index.php");
  3. } else {
  4. header("location:index.php");
  5. }
  6. ?>

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


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Re: LOGIN EN PHP, CERRAR SESION
« Respuesta #2 en: 28 Julio 2010, 19:41 pm »

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 Desconectado

Mensajes: 116


Ver Perfil
Re: LOGIN EN PHP, CERRAR SESION
« Respuesta #3 en: 28 Julio 2010, 19:47 pm »

jaja tenes razón, igual así no lo uso yo le pase algo para que se guie un poco   :silbar:

Lo de la imagen..  ;D creo que no funcionaria, tendría que probar despues.

Suerte  ;)
En línea

jdc


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Re: LOGIN EN PHP, CERRAR SESION
« Respuesta #4 en: 28 Julio 2010, 19:49 pm »

Uffff....Deberias ver lo que hace WHK con una imagen xDDDDDDDD
En línea

jdc


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Re: LOGIN EN PHP, CERRAR SESION
« Respuesta #5 en: 28 Julio 2010, 19:53 pm »

¬¬ no preguntes por privado, lo mejor es tratar los temas en el foro ademas asi nos evitamos la sociabilizacion  >:D

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 Desconectado

Mensajes: 39



Ver Perfil
Re: LOGIN EN PHP, CERRAR SESION
« Respuesta #6 en: 28 Julio 2010, 19:58 pm »

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


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Re: LOGIN EN PHP, CERRAR SESION
« Respuesta #7 en: 28 Julio 2010, 20:10 pm »

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 Desconectado

Mensajes: 116


Ver Perfil
Re: LOGIN EN PHP, CERRAR SESION
« Respuesta #8 en: 28 Julio 2010, 21:42 pm »

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  >:D
En línea

braulio--
Wiki

Desconectado Desconectado

Mensajes: 896


Imagen recursiva


Ver Perfil WWW
Re: LOGIN EN PHP, CERRAR SESION
« Respuesta #9 en: 28 Julio 2010, 23:56 pm »

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í:

Código
  1. /* Login succesful */
  2. $_SESSION['token'] = md5(sha1(rand(1,100000)); // Por ejemplo
  3.  
Luego, se pone esto como enlace al logout :

Código
  1. <a href="logout.php?token=<?php echo $_SESSION['token']; ?>">Logout </a>
  2.  

Y en logout.php

Código
  1. if ($_SESSION['token'] == $_GET['token'] )
  2. {
  3. }
  4.  

En mi opinión usar la base de datos no es necesario.
En línea

Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines