/**
* 检测用户是否登录
* @return integer 0-未登录,大于0-当前登录用户ID
*/
function is_login()
{
$user = session('user_auth');
if (empty($user)) {
return 0;
} else {
return session('user_auth_sign') == data_auth_sign($user) ? $user['uid'] : 0;
}
}
/**
* 数据签名认证
* @param array $data 被认证的数据
* @return string 签名
*/
function data_auth_sign($data)
{
//数据类型检测
if (!is_array($data)) {
$data = (array) $data;
}
ksort($data); //排序
$code = http_build_query($data); //url编码并生成query字符串
$sign = sha1($code); //生成签名
return $sign;
}
登录的时候生成一个签名
/* 记录登录SESSION和COOKIES */
$auth = array(
'uid' => $user['userid'],
'username' => $user['username'],
'last_login_time' => $user['last_login_time'],
);
session('last_login_time', $user['last_login_time']);
session('last_login_ip', $user['last_login_ip']);
session('user_auth', $auth);
session('user_auth_sign', data_auth_sign($auth)); //签名
登录设计
最新推荐文章于 2023-06-12 14:31:56 发布