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í:
Luego, se pone esto como enlace al logout :
Y en logout.php
En mi opinión usar la base de datos no es necesario.
En el login se crea una variable en $_SESSION que se llame token, algo así:
Código (php) [Seleccionar]
/* Login succesful */
$_SESSION['token'] = md5(sha1(rand(1,100000)); // Por ejemplo
Luego, se pone esto como enlace al logout :
Código (php) [Seleccionar]
<a href="logout.php?token=<?php echo $_SESSION['token']; ?>">Logout </a>
Y en logout.php
Código (php) [Seleccionar]
if ($_SESSION['token'] == $_GET['token'] )
{
session_destroy();
}
En mi opinión usar la base de datos no es necesario.