最近碰到一个web里面用户跳转的问题. 系统的登录使用了公司的SSO登录认证, 跳转referrer信息在redirect的过程中丢失了. 经过一顿搜索, 发现可以在后端使用cookie或者session来处理. 到底用哪个呢, 先做个对比.
cookie的缺点
- cookie的数据完全不受我们控制, we do not control the data.
- 如果那些数据不受我们控制, 我们在使用这些数据的时候需要格外的小心(cookie可能会被用户修改, 删除甚至被恶意拦截修改)
- 用户的浏览器可能关闭了cookie的功能.
- 最后从私心出发, flask 的cookie设置好麻烦啊, 懒的搞.
session的优点
- 更安全, session里面的东西对client是不可见的, 如果是比较私密的数据, 当然首选session
- session的timeout也是可控的
session的缺点
- 存储在session中的数据太大了, 会占用很多内存, 影响性能
综合来考虑, 使用cookie还是session可以分一些场景, 如果数据敏感性不是很高, 且数据量会比较大的, 可以存储在cookie中. 数据较小的可以存在session中.
因为想要存储一个跳转前的链接, 数据量不大, session timeout时间可以控制在8小时内, 对性能的影响不会很大.
网友评论