Está en la página 1de 22

Sesiones en PHP

Seguridad

Fabian Eloy Guerrero Medina


Master Web Developer
Introducción

Qué son las sesiones?

Básicamente una sesión es la secuencia de


páginas que un usuario visita en un sitio web.
Desde que entra al sitio web, hasta que lo
abandona o cierra la página.

2
Introducción

En el concepto de PHP, una sesión se aplica


a la secuencia de navegación, para ello se
crea un identificador único que se le asigna a
cada una de estas sesiones de navegación.
A este identificador de sesión se le denomina,
comúnmente, como la sesión.

Fabian Eloy Guerrero Medina 3


Master Web Developer
Empezar una Sesión

Para empezar a trabajar una sesión en PHP lo


primero es iniciarla la sesión:

session_start()

4
Empezar una Sesión – session_start()

Usaremos como ejemplo para iniciar una sesión con


la función session_start(), esta función debe estar
ANTES de cualquier otro código.

<?php
session_start();
sentencias PHP;

?>

- Esta función en caso de que el visitante no tenga una sesión la


crea y si ya tiene una sesión continúa en ella.

5
Empezar una Sesión – session_start()

SID (Session ID)

PHP para identificar una sesión, lo realiza a través


de un número SID. Esto se le proporciona al cliente
para identificarse de forma exclusiva.

Este SID siempre se crea al usar la función


session_start().

6
ID de una Sesión – session_id()

Se usa para proporcionar (leer) el número ID


de sesión que se ha inicializado.

También se usa esta función para cambiar el


ID de la sesión actual.

echo ("TU ID: ". session_id() );

7
Almacenar Información – $_SESSION

Es un arreglo (matriz) asociativa que contiene


las variables de sesión disponibles en la
aplicación web actual.

$_SESSION[“var-sesion"] = “dato"

8
Función: session_unset

Elimina todas la variables de la sesión.

Función: session_destroy

Destruir la sesión

9
Función: Redireccionar – header()

Cabecera "Location:"

header("Location: http://www.php.net");
exit;

header("Location: index.php?var=dato");

10
Ejemplo: 01

11
Ejemplo: 01- index.php
<?php Crear Sesión
session_start();
?>

<p>BIENVENIDOS</p>

<form name="form1" method="post" action="pagina2.php">


<p>Nombre
<input name="txt_nombre" type="text" id="txt_nombre">

<?php
$_SESSION["ESTADO"] = "OK"
?> Crear Variable de
</p> Sesión
<p>
<input type="submit" name="Submit" value="Enviar">
</p>
</form>

12
Ejemplo: 01 – pagina2.php

<?php
session_start();

if ($_SESSION["ESTADO"] != "OK")
header("Location: index.php");

?>

<?php
echo ("Hola ".$_POST["txt_nombre"]);
?>

13
Ejemplo: 02
Validar Datos y Crear
Ingreso de Datos Variables de Sesion Página Segura

Datos OK
Home
Page
Datos Erróneos

index.php control.php aplicacion.php

Página Segura

seguridad.php

otra.php salir.php

14
Ejemplo: 02 – index.php

15
Ejemplo: 02 – index.php
<form action="control.php" method="POST">
<tr>
<td colspan="2" align="center"
<?PHP if (isset($_GET["errorusuario"]) && $_GET["errorusuario"]==1){?>
bgcolor=red><span style="color:ffffff"><b>Datos incorrectos</b></span>
<?PHP }else{?>
bgcolor=#cccccc>Introduce tu clave de acceso
<?PHP }?></td>
</tr><br>
<tr>
<td align="right">Usuario:</td>
<td><input type="Text" name="usuario" size="8" maxlength="50"></td>
</tr><br>
<tr>
<td align="right">Clave:</td>
<td><input type="password" name="contrasena" size="8" maxlength="50"></td>
</tr><br>
<tr> <td> <input type="Submit“ value="ENTRAR"></td>
</tr>
</form>
16
Ejemplo: 02 – control.php

<?PHP
session_start();

//vemos si el usuario y contraseña es válido

if ($_POST["usuario"]==“coquito" && $_POST["contrasena"]=="123"){


//usuario y contraseña válidos
//Crear variable para la sesión
$_SESSION["autentificado"]= “1";
$_SESSION["user"]= $_POST["usuario"];
$_SESSION["pass"]= $_POST["contrasena"];
header ("Location: aplicacion.php");
}else {
//si no existe, ir a la Página de Inicio
header("Location: index.php?errorusuario=1");
}
?>
17
Ejemplo: 02 – aplicacion.php

<?PHP include ("seguridad.php");?>


<html>
<head>
<title>Aplicación segura</title>
</head>
<body>
<h1>Bienvenido <?PHP echo $_SESSION["user"];?></h1>
<br>
----
<br>
Usuario: <?PHP echo $_SESSION["user"];?>
<br>
----
<br><br>
<a href="otra.php">Continuar</a>
</body>
</html>
18
Ejemplo: 02 – seguridad.php

<?PHP
//Inicio la sesión
session_start();
//COMPRUEBA QUE EL USUARIO ESTA AUTENTIFICADO
if ($_SESSION["autentificado"] != “1") {
//si no existe, se dirige a la Página de Inicio
header("Location: index.php");
//salimos del script
exit();
}
?>

19
Ejemplo: 02 – otra.php

<?PHP include ("seguridad.php");?>


<html>
<head>
<title>Empresa XYZ</title>
</head>

<body>
<h1>Bienvenido <?PHP echo $_SESSION["user"];?></h1>
<br><hr> Sistema de la Empresa XYZ<hr><br>
<br><br>
<a href="salir.php">Salir</a>
</body>
</html>

20
Ejemplo: 02 – salir.php
<?PHP
session_start();
session_destroy();
?>
<html>
<head> <title>Fin de Sesión</title> </head>

<body>
Gracias por tu acceso…
<br><br>
<a href="index.php">Ir a la Página de Inicio</a>

</body>

</html>
21
Ejemplo: 02
Validar Datos y Crear
Ingreso de Datos Variables de Sesion Página Segura

Datos OK
Home
Page
Datos Erróneos

index.php control.php aplicacion.php

Página Segura

seguridad.php

otra.php salir.php

22

También podría gustarte