猿问

我在写一个web程序,有些页面需要登录,有些不需要,登录之后我向客户端写入了一个cookie,这个cookie能存id和用户名吗

是不是会被别人利用?而且我在每一个页面怎么验证是否登录?单靠cookie可以吗?还是得结合服务器进一步验证session是不是也有?
真实开发这都是怎么写的啊

哈士奇WWW
浏览 985回答 4
4回答

冉冉说

你这个问题其实是两个问题1,cookies 和 session 的方式安全吗?安全,不然也没有什么其他办法用户记录用户状态啊。所以用户登录成功以后在服务端生成session并在客户端生成 cookies,让它们彼此联系用户下次用户从客户端请求服务器端的时候携带 cookies 能找到 session。但是你需要使用一个随机的或者 UUID等不方便识别的作为cookies存在客户端,然后自己手动绑定其和session的关系。当然使用 HTTPS 以后会更安全。 2,有的接口需要有的接口,可以使用拦截器通过 API 的 mapping 控制精细的权限校验。

慕侠2389804

Cookie存身份认证的信息,比方说角色,服务器可以生成cookie,通过key验证是否为自己生产的cookie,没有cookie或者不是服务器生成的cookie就是未登录,遇到权限页面可以通过解析cookie中的信息(即role)来判断是否允许放行,没有必要存取重要的用户信息,建议研究一下jwt和无状态授权

万千封印

可以存是可以存,但是存了也没用啊,难道客户存哪个id你就认为这个id是合法登录用户吗?

呼唤远方

这应该配合服务器Session进行验证,因为在本地的cookie是可以被随意修改的,在本地不应该储存重要的用户信息(如密码)
随时随地看视频慕课网APP

相关分类

Java
我要回答