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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  como cerrar sesiones en php
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: como cerrar sesiones en php  (Leído 7,812 veces)
tecasoft


Desconectado Desconectado

Mensajes: 319

Ciberseguridad tecasoft.com


Ver Perfil WWW
como cerrar sesiones en php
« en: 13 Enero 2013, 01:02 am »

no puedo cerrar mi sesion en php: he probado con session_destroy(); y un sin fin de pruebas y no me cierra le doy salir me la destruye* con session_destroy le doy para atras y vuelve a cargarme la pagina y datos de la base de datos.

COMO SE CIERRA CON PHP5 y si es fallo de php5¿¿¿?que pensais¿¿¿?


En línea

http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Re: como cerrar sesiones en php
« Respuesta #1 en: 13 Enero 2013, 23:30 pm »

Una opción es hacer, en un archivo llamado cerrarsesion.php o como tu quieras:

Código
  1. <?php
  2. $_SESSION['ID'] = "";
  3. $_SESSION['nick'] = "";
  4.  header("Cache-Control: private");
  5.  header("Location: ./index.php");
  6. ?>

Donde en este caso se vacia el "ID" que representa que es el ID de usuario y el nick associado al ID.

Otra opción es hacer que tu sistema de usuarios empieze desde el ID=1 dejando el 0 para invitados. EL 0 o el numero que quieras y entonces hacer:

Código
  1. <?php
  2. $_SESSION['ID'] = 0;
  3. $_SESSION['nick'] = "";
  4.  header("Cache-Control: private");
  5.  header("Location: ./index.php");
  6. ?>

Probado y funciona perfectamente.


En línea

Killtrojan Syslog v1.44: ENTRAR
tecasoft


Desconectado Desconectado

Mensajes: 319

Ciberseguridad tecasoft.com


Ver Perfil WWW
Re: como cerrar sesiones en php
« Respuesta #2 en: 15 Enero 2013, 19:05 pm »

yo lo estoy probando y le doy para atras y actualizar y me salen los datos....etc xk es eso¿¿¿?
En línea

http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
jdc


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Re: como cerrar sesiones en php
« Respuesta #3 en: 16 Enero 2013, 02:04 am »

Pon aquí el código de como estas asignando valor a la sesión y como la estás cerrando
En línea

tecasoft


Desconectado Desconectado

Mensajes: 319

Ciberseguridad tecasoft.com


Ver Perfil WWW
Re: como cerrar sesiones en php
« Respuesta #4 en: 19 Enero 2013, 18:28 pm »

PHP Version 5.3.3-7+squeeze14

este es mi codigo le das para atras y actualizas y salen los datos:


entrar.php
Código:
<?php
session_start();

//unset($_SESSION['usuario1']);
//unset($_SESSION['contrasena']);

session_destroy();
//$parametros_cookies = session_get_cookie_params();
//setcookie(session_name(),0,1,$parametros_cookies["path"]);

$_SESSION['usuario1'] = "";
$_SESSION['contrasena'] = "";
header("Cache-Control: private");


?>

<html>
<head>


</head>
<body>

<form action="login.php" method="post">
Usuario: <input type="text" name="usuario"><br>
Contraseña: <input type="password" name="contrasena"><br>
<input type="submit" value="Entrar">

</form>

</body>
</html>

login.php

Código:
<?php
session_start();

if(!isset($_SESSION['usuario1']))
{
$usuario=$_POST['usuario'];
$pass=$_POST['contrasena'];


if (strlen($usuario)<8 || strlen($usuario)>15)
{
      echo  "El usuario esta entre 8 y 15 caracteres<br>";     
      return false;
   }

if (strlen($pass)<8 || strlen($pass)>15)
{
      echo  "La contraseña esta entre 8 y 15 caracteres<br>";     
      return false;
   }

//es mejor hacer una lista blanca con caracteres permitidos que una negra, lo que no este aquí simplemente se ignora
   $validos = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789-_@#";
   for ($i=0; $i<strlen($usuario); $i++){
      if (strpos($validos, substr($usuario,$i,1))===false){
         echo  " Contiene caracteres no permitidos<br>";
                                    return false; 
      }
   }

$cifrad=hash('sha512',$pass);

}
else
{
$usuario=$_SESSION['usuario1'];
$cifrad=$_SESSION['contrasena'];
}

include("conexionbd.php");

$conexion=mysqli_connect($host,$usu,$pusu) or die ("Error mysqli_connect: ". mysqli_connect_error());

mysqli_select_db($conexion,$bd) or die ("Error mysqli_select_db.");

$correcto=0;
$result=mysqli_query($conexion,"select cod_admin,usuario1,contrasena from REC_administradores where usuario1='$usuario' and contrasena='$cifrad'")  or die ("Error mysqli_query.");

if($fila1=mysqli_fetch_array($result))
{
$fila1['cod_admin'];
$_SESSION['usuario1']=$fila1['usuario1'];
$_SESSION['contrasena']=$fila1['contrasena'];
$correcto=1;


}

if($correcto==1)
{
echo "Has entrado: ". $fila1['cod_admin'] ."<br>";
echo $_SESSION['usuario1'] ."<br>";
echo $_SESSION['contrasena'];
echo "<br><a href='desconectar.php'>Desconectar</a>";
}

if($correcto==0)
{
echo "No entras";

//unset($_SESSION['usuario1']);
//unset($_SESSION['contrasena']);

session_destroy();
//$parametros_cookies = session_get_cookie_params();
//setcookie(session_name(),0,1,$parametros_cookies["path"]);

$_SESSION['usuario1'] = "";
$_SESSION['contrasena'] = "";
header("Cache-Control: private");

}

mysqli_close($conexion);
?>

desconectar.php

Código:
<?php
session_start();
//unset($_SESSION['usuario1']);
//unset($_SESSION['contrasena']);


session_destroy();
//$parametros_cookies = session_get_cookie_params();
//setcookie(session_name(),0,1,$parametros_cookies["path"]);
$_SESSION['usuario1'] = "";
$_SESSION['contrasena'] = "";
header("Cache-Control: private");
header("Location: entrar.php");

//header("Location: entrar.php");
?>

la tabla:

Código:
--
-- ADMINISTRADORES
--
CREATE TABLE REC_administradores(
cod_admin INTEGER NOT NULL AUTO_INCREMENT,
usuario1 VARCHAR(50) NOT NULL,
contrasena VARCHAR(200) NOT NULL,
email VARCHAR(50) NOT NULL,
CONSTRAINT PKUSU PRIMARY KEY (cod_admin)
) ENGINE=InnoDB;

si necesitas mas datos me lo dices...
En línea

http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
alguien conoce que apis se utiliza para cerrar procesos dificiles de cerrar
Programación Visual Basic
jhon200405 2 3,673 Último mensaje 29 Julio 2006, 22:41 pm
por Mad Antrax
MOVIDO: articular sesiones de SMF con web sin usar SSI.php ¿como?
PHP
Ertai 0 2,605 Último mensaje 1 Noviembre 2007, 02:18 am
por Ertai
[Ayuda] Cerrar puerto 631 y cerrar conexiones en Ubuntu 10.04
GNU/Linux
777Rubenix777 7 10,879 Último mensaje 26 Noviembre 2010, 09:23 am
por 777Rubenix777
Como controlar sesiones WIFI
Redes
arturo_jed 2 2,083 Último mensaje 23 Abril 2014, 17:19 pm
por virtualedu
Cerrar sesiones remotamente
Seguridad
catlover 4 3,258 Último mensaje 10 Junio 2016, 02:26 am
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines