现在还有用 cookies 吗

2020-07-22 12:14:49 +08:00
 pabno

接手公司的老项目,很多安全和身份相关的功能都是用 cookies 实现的。这玩意儿感觉既不好测试又不安全,以往都是使用 token 来做的身份安全相关

不知道现在在 web 端主流是用 cookies 还是 token ?

11358 次点击
所在节点    程序员
104 条回复
elevioux
2020-07-22 12:39:42 +08:00
token 和 cookie 没有本质的区别。

即使你不用 cookie 那套,自己实现管理 token,这个 token 不一样也要存客户端?

国内的京东、淘宝不一样用 cookie 用的挺欢?
ChanKc
2020-07-22 12:42:32 +08:00
@sunjourney gzip 没有
反正我做前端,接口也是后端定
正好借此机会体验了一把 lazyload+IntersectionObserver+service worker+cache API,可以说很好地丰富了简历了
kop1989
2020-07-22 12:43:27 +08:00
cookie 是一种存储介质,token 指的是令牌。
楼上讨论的这么欢?
sunjourney
2020-07-22 12:46:34 +08:00
@ChanKc #22 这种瞎搞的搞法,感觉并不能加分,有什么好处吗?总不能简历里都是反标准、负收益的东西吧?
ochatokori
2020-07-22 12:46:52 +08:00

token 存 localstorage 或者 indexeddb 不行吗
sunjourney
2020-07-22 12:47:34 +08:00
@ChanKc #22 只能说当玩具练练手比较好
iX8NEGGn
2020-07-22 12:48:43 +08:00
session cookies 傻傻分不清
ChanKc
2020-07-22 12:49:48 +08:00
其实默认情况下,用 custom http header 是比用 cookie (不开 same site 不开 secure 不开 HTTP only )要安全一些,因为只有同域的 ajax 才能用 custom http header 。
要是 token 放 cookie 里…
OhYee
2020-07-22 12:50:47 +08:00
不存 cookie 的话,只能存 localStorage 了吧,不过这两者在安全上没啥区别吧

另外 cookie 好像不带 s,有大佬讲一下应该拼 cookie 还是 cookies 么?
ChanKc
2020-07-22 12:52:18 +08:00
@sunjourney 现在很多时候面试啊简历啊都是反标准负收益的东西
我前一阵面试某大厂,问 get 和 post 什么区别,我就按 RFC 标准的答了
面试官问“要是后端不按标准来写呢”
而且这种事情,肯定不会写“我都是因为后端不标准所以我做的这些优化”
Jirajine
2020-07-22 12:53:00 +08:00
你喝水的时候是用杯子还是水?
lanbatian
2020-07-22 13:54:42 +08:00
今天才改了一个由于 cookie 过期导致的 bug
belin520
2020-07-22 13:57:06 +08:00
技术论坛一聊七七八八的话题就进水深火热,一聊技术话题就蹦了
tlday
2020-07-22 14:04:10 +08:00
我很好奇问出这样问题的人的提问背景。看了楼主的发帖记录,看起来我们对“多年 Java 狗”的理解有点分歧...
also24
2020-07-22 14:06:24 +08:00
@ChanKc #28
token 存哪里呢?存在 localStorage 的话,遇到了 XSS,卒……

还不如存 Cookie 里,起码可以用 HttpOnly 来保护一下……
wangxiaoaer
2020-07-22 14:07:05 +08:00
@chendy #8 除了浏览器,服务端、客户端也能用啊,以 java 为例,很多库都支持 cookie 的。
sunjourney
2020-07-22 14:07:41 +08:00
@ChanKc #30 我会建议后端改成标准
ChanKc
2020-07-22 14:15:49 +08:00
@also24 xss 时我都可以直接利用 cookie 了…还会在乎读 cookie 的值吗…
also24
2020-07-22 14:22:32 +08:00
@ChanKc #38
肯定会啊。。。你直接利用 Cookie 的话,利用脚本必须放在你的 xss 脚本里的嘛。
而且必须用户主动运行你的 XSS 脚本才能执行利用脚本,执行次数很有限嘛。

如果不加 HttpOnly,我 XSS 直接偷你的 Cookie 丢出来,我在外面想怎么用怎么用,多方便。

and 其实搜一下 " XSS 窃取 Cookie " 就能找到很多例子……
sunjourney
2020-07-22 14:22:48 +08:00
@ChanKc #38 cookie 有 secure 的,xss 读不到

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/692155

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX