PHP表单令牌的使用和处理

PHP表单令牌的使用和处理,第1张

PHP表单令牌的使用和处理

无需做您正在尝试的事情。当您使用session_start()在PHP中启动会话时,已经为您生成了一个唯一的SESSIONID。你应该
被把这个形式。默认情况下,它通过cookie处理。也无需检查SESSIONID,也可以再次为您处理。

您负责验证用户身份并存储其验证身份(例如,SESSION中的$ _SESSION [‘user_id’] = $
userId)。如果用户注销,则使用session_destroy销毁其会话。

您应该确保session_start()是站点中所有页面的 首要 任务之一。

这是一个基本示例:

<?phpsession_start(); // starts new or resumes existing sessionsession_regenerate_id(true); // regenerates SESSIonID to prevent hijackingfunction login($username, $password){    $user = new User();    if ($user->login($username, $password)) {        $_SESSION['user_id'] = $user->getId();        return true;    }    return false;}function logout(){    session_destroy();}function isLoggedIn(){    return isset($_SESSION['user_id']);}function generateFormHash($salt){    $hash = md5(mt_rand(1,1000000) . $salt);    $_SESSION['csrf_hash'] = $hash    return $hash;}function isValidFormHash($hash){    return $_SESSION['csrf_hash'] === $hash;}

编辑:我误解了原来的问题。我在上面添加了用于生成和验证表单哈希的相关方法;



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5441422.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存