http://www.php.net/manual/es/function.session-set-cookie-params.php en el php.ini me marca 1440 es decir 24 minutos pero lo he probado y tarda unos 30 o 40 minutos eso xk es?
ha quedado asi y funciona a la perfeccion el ejemplo,gracias x la colaboracion:
<?php
// Generar un sha1 aleatorio.
$_SESSION['token'] = $token;
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>PoC</title>
</head>
<body>
<form action="post.php" method="POST">
<input type="text" name="usuario" />
<input type="password" name="password" />
<input type="hidden" name="token" value="<?php echo $token; ?>" />
<input type="submit" value="Enviar" />
</form>
</body>
</html>
<?php
if(empty($_SESSION['token']) || empty($_POST['token']) || !preg_match('/[0-9a-f]/',substr($_POST['token'],0,40)) || $_SESSION['token']!==$_POST['token'] || $_SERVER['HTTP_REFERER'] !== "http://192.168.1.2/prueba/tokens_referer/enviar.php") {
echo 'Los tokens o el referer no son correctos.';
}
else
{
echo 'Tu consulta ha sido realizada';
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
}
?>
Mod: No hacer doble post.