onethink中的用户登录session签名

用户登录签名问题,即防止伪造登录session,增加一个用户登录数组的加密签名

 

onethink的登录控制,先调用UC表中(UC表也是存储在网站或本地的数据库中的),确认登录信息。如果UC表登录成功,则判断用户表(member),传入的是用户的uidsession记录uid,username,last_login_time这三个字段构成的数组。session标识为:user_auth

 

接着session记录调用公共函数data_auth_sign签名后的数组session标识为:user_auth_sign

 

在公共函数is_login函数中,

$user = session(user_auth);

session(user_auth_sign)==data_auth_sign($user);

 

这样做的好处是什么呢?这样可以防止模拟session模拟登陆,也就是说如果伪造了session,也就是说,如果模拟session的话,那么还要模拟一份user_auth_sign,而user_auth_sign的加密方式,不为人知。

 

tip:session可以传入和记录数组的。

 

posted @ 2019-03-08 13:45  博雅源  阅读(470)  评论(0编辑  收藏  举报