Questo è stato chiesto un sacco di volte. Sono solo curioso di vedere se il codice sottostante fornisce un livello di sicurezza abbastanza significativo.
Ci sono altri casi che dovrei prendere in considerazione?
Di seguito è solo un esempio; si prega di ignorare eventuali problemi di sintassi; Sto cercando informazioni sull'aspetto di sicurezza del codice.
Poche ipotesi:
- Se l'utente non fa nulla in 5 secondi, disconnettilo.
- Se l'utente non proviene da somePage.php, disconnettilo.
- Se gli indirizzi IP degli utenti cambiano, esegui il logout.
Codice:
<?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'];
?>