我在几个不同的页面上构建了一个表单:
25次中有24次一切顺利,但出于某种原因,它失败了1/25。我有时可以重现它,但大多数时候都没有。
在第2步,我使用此代码:
$hash = md5($salt.time()); // Salt is unique, time is "extra".
$_SESSION["hash"] = $hash; // Session stored
setcookie("code",$hash, time()+2440); // Cookie for backup
// $hash is stored in the database
在第3步,我尝试使用以下方式阅读:
ini_set('session.gc_maxlifetime', '28800');
include("../database.inc.php"); // Needed for DB connection
include("functies.inc.php"); // Needed for filtering vars (also sessions)
if(!isset($_SESSION)){session_start();}
$sessionshash = $_SESSION["hash"];
$cookiehash = filter($_COOKIE["hash"]);
// $hash is fetched from the database
结果约为25次中的1次:$ sessionhash和$ cookiehash完全相同。虽然来自数据库的$ hash是不同的。很少有时三者都不同,有时一个或另一个没有设定。
我无法调试它,因为它似乎是随机行为。有没有建议如何调试?