,token和session区别?

用户投稿 125 0

关于“php_session_token”的问题,小编就整理了【2】个相关介绍“php_session_token”的解答:

token和session区别?

登出是指客户端主动退出登录状态。容易想到的方案是,客户端登录成功后, 服务器为其分配sessionId, 客户端随后每次请求资源时都带上sessionId。

服务器判断用户是否登录, 完全依赖于sessionId, 一旦其被截获, 黑客就能够模拟出用户的请求。于是我们需要引入token的概念: 用户登录成功后, 服务器不但为其分配了sessionId, 还分配了token, token是维持登录状态的关键秘密数据。在服务器向客户端发送的token数据,也需要加密。于是一次登录的细节再次扩展。

客户端向服务器第一次发起登录请求(不传输用户名和密码)。

服务器利用RSA算法产生一对公钥和私钥。并保留私钥, 将公钥发送给客户端。

客户端收到公钥后, 加密用户密码,向服务器发送用户名和加密后的用户密码; 同时另外产生一对公钥和私钥,自己保留私钥, 向服务器发送公钥; 于是第二次登录请求传输了用户名和加密后的密码以及客户端生成的公钥。

服务器利用保留的私钥对密文进行解密,得到真正的密码。 经过判断, 确定用户可以登录后,生成sessionId和token, 同时利用客户端发送的公钥,对token进行加密。最后将sessionId和加密后的token返还给客户端。

session和cookie和token的区别?

Session是由服务器端生成的一个唯一标识号,它是服务器端用来跟踪用户身份的一种机制;

Cookie是客户端用来跟踪用户身份的一种机制,它是一小段字符串,会被储存在客户端的浏览器缓存中;Token是一个字符串,它可以储存在客户端或者服务器端,用来验证用户身份。

session和cookie和token都可以用来实现用户验证或者登录会话

(1)Session:Session是在客户端和服务器端中存储用户信息的一种技术,通常使用http cookie来保存Session的标识符,用于和服务器端的session进行关联,并且保存在服务器端。

(2)Cookie:Cookie是在客户端浏览器中保存某些信息的一种技术,通常用于保存用户或访问者的一些信息,例如登录状态、个性化信息等。

(3)Token:Token是通过在客户端和服务器端之间传递一个令牌的方式来实现用户的验证的一种技术,Token本身是一个字符串,可以用来表示客户端的身份、权限、客户端的设备信息等。

主要区别:

1.比较安全性:Token 比较比较安全,因为它不需要存储在服务器端,而是存储在客户端;Cookie 存储在服务器端,有被窃取的风险;Session 虽然也是存储在服务器端,但是它是根据用户识别码来存取的,所以比较安全性比 Cookie 要高。

2.数据量:Token 内存储的数据量比较小;Cookie 和 Session 都可以存储大量数据。

3.过期时间:Token 的过期时间是可以被控制的;Cookie 和 Session 都可以设置过期时间,但是 Cookie 可以被浏览器自动删除,导致无法使用;Session 可以在服务器端被控制删除。

到此,以上就是小编对于“php_session_token”的问题就介绍到这了,希望介绍关于“php_session_token”的【2】点解答对大家有用。

抱歉,评论功能暂时关闭!