Esto se ha pedido un montón de veces. Solo tengo curiosidad por ver si el código a continuación proporciona un nivel de seguridad bastante significativo.
¿Hay otros casos que debería considerar?
A continuación es sólo un ejemplo; por favor ignora cualquier problema de sintaxis; Estoy buscando información sobre el aspecto de seguridad del código.
Algunas suposiciones:
- Si el usuario no hace nada en 5 segundos, cierre la sesión.
- Si el usuario no viene de alguna página, cierre la sesión.
- Si la dirección IP de los usuarios cambia, cierre la sesión.
Código:
<?php
session_start();
$time = time();
$ip = $_SERVER['REMOTE_ADDR'];
if ($time - $_SESSION['time'] > 5)
{
//function to log out user...//echo "logged Out,Time";
}
elseif ($ip !== $_SESSION['ip'])
{
//function to log out user...//echo "logged out,IP";
}
elseif ($_SERVER['HTTP_REFERER'] !== "http://server.com/somePage.php")
{
//function to log out user...//echo "logged out,Refer";
}
else
{
//do sensitive stuff
}
$_SESSION['time'] = $time;
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
?>