搜索“ token 放 header ” 看到的大都是 2017-2018 的,以前不是认证信息都放 cookie 吗?如果因为 cookie 不安全,cookie 可以设置 same-site 防止 CSRF 攻击,可以设置 httpOnly 防止 cookie 劫持类攻击,如果说用户有可能禁止 cookie,不是有那种“本网站需要开启 cookie ”的提示吗?
搜索“ token 放 header ” 看到的大都是 2017-2018 的,以前不是认证信息都放 cookie 吗?如果因为 cookie 不安全,cookie 可以设置 same-site 防止 CSRF 攻击,可以设置 httpOnly 防止 cookie 劫持类攻击,如果说用户有可能禁止 cookie,不是有那种“本网站需要开启 cookie ”的提示吗?
|
geekcornAug 9, 2018 via iPhone
1
三楼觉得这个如何解释比较好...
|
|
agagegaAug 9, 2018 via iPhone
2
不太明白你的意思,Authorization 字段不是 HTTP 本来的一个用法么
|
|
lianyueAug 9, 2018
3
1. 支持跨域 跨域储存
2. Authorization 字段本来就是用来认证的 |
|
4
|
|
yangqiAug 9, 2018
5
为什么不呢?
|
|
6
Authorization 字段一般 是 api 通讯 前后端分离 结构
请求 静态资源为什么 要带上这个 |
|
7
客户端不是浏览器就没有 cookie 了呀
|
|
8
举个例子,小程序。
|
|
CODEWEAAug 9, 2018
9
不仅是认证 校验 ajax 成功与否也是利用 header
|
|
moultAug 9, 2018
10
A 公司:我看 B 公司的产品是这样的,我也就这样了。
B 公司:我看 C 公司的产品是这样的,我也就这样了。 C 公司:???我觉得这样搞比较好看。!! |
|
StevenTongAug 9, 2018
13
现在手机 APP 普及了,api 放 cookie 吗?用 Authorization 做 Authenticate 很合适呀
|
|
ZzdexAug 9, 2018 via iPhone
15
小程序就不支持 cookie
|
|
crabAug 9, 2018
17
主要还是跨域问题吧
|
|
18
>没有通过登录认证的用户不给他网站的静态资源的这种需求应该比较正常吧?
@lvlv 这种很少见 cookie 限制的,老方案是普通资源不登陆不提供地址。非法用户猜到地址就可以下载。 比较重要的资源是真实地址不可访问,直接可访问的是 php 部分,php 验证后通过 nginx 内部重定向到实际文件。这个倒是依赖 cookie。 现在很多都是使用的对象储存,静态资源在独立域名,真需要限制在 1url 追加签名的比较多。 |
|
19
移动端 包括小程序这两年发展导致的吧
|
|
34CAug 10, 2018 via iPhone
20
楼主是多久没有接触现代化前端了… 是不是还在用 jQuery 那种…
|
|
21
cookies 这个 request-header 和 set-cookie 这个 response-header 只能由同域的服务端接收和返回,而大多数的 API 是跨域的。。
|
|
ericlsAug 10, 2018 via iPhone
22
Token 放哪儿都行
问题是 cookie 跨域什么的 比较麻烦 |
|
suzicAug 10, 2018 via Android
23
这样比较方便
|
|
25
RESTFUL API 或者 JWT 了解下? https://www.iluwen.com/blog/43
|
|
26
有些场景或语言启用 cookies 成本太高,比如 Java ,配置多服务器实例时共享成本比较高.
所以自己实现,只要根据 header 或 request params 来简单验证即可,而 request param 的方式,使用拦截器之类的方式不能很方便的设置为通用的,而 header 可以很方便的设置为通用默认带上. 个人理解 |
|
IvanLi127Aug 10, 2018 via Android
27
你的搜索引擎坏了可能。。。一直都有放头部的额
|
|
29
1,前后端独立部署,前端的静态文件弄个 nginx 转发就行了,不涉及后端,这时候用 cookie 就不合适,没有后端服务下发 cookie,所以 token 头拿权限就很重要了
2,app 内嵌页面,有的是把静态资源一起打包到 app 里面,访问的方式是加载本地路径,协议是 file://,这样本地协议也是拿不到 cookie,所以还是得在请求头里面加权限 3,对于现在的微服务,一个请求可能需要提供给 web,微信公众号,ios,android 甚至是小程序,这时候用 token 鉴权就很省事了,统一鉴权 |