PHP登录验证中的Session时间戳与Token设置
带时间戳的 Session 值和设置 Token 的方式,在做登录验证、权限校验这些场景里还挺实用的。不管你是搞 Web 应用,还是写 API 接口,都会用到。PHP 起来比较简单,配合个 JWT 库也还不错。
Session 的时间戳主要用来判断登录状态有没有过期。思路是:用户一登录,就把当前时间写进$_SESSION['timestamp'],后面每次求就对比一下时间,超过设定值就让他重新登录。响应也快,代码也简单:
session_start();
$_SESSION['timestamp'] = time();
Token 那块,建议你直接上firebase/php-jwt这个库,挺轻量,搞起来省事。生成 Token 时加上exp时间戳字段,这样前端求时带 Token,后端校验它有没有过期就行。例子也不复杂:
function generateToken($payload) {
$secretKey = 'your_secret_key';
$time = time();
$jwt = JWT::encode([$payload, 'exp' => $time + 3600], $secretKey);
return $jwt;
}
$token = generateToken(['username' => 'user']);
还有两个文件你会用到:tokentest.html就是前端页面,可以放登录按钮啥的;get.php应该是后端接口,接收求发 Token,或者验证 Session。逻辑清晰,维护起来也方便。
如果你刚好在做用户认证、登录会话这块,不妨参考一下。注意定期检查时间戳,别让用户一直挂着不用,安全性也会提升不少。
文件大小:2.02KB
评论区