GET 方法有没办法传递 token

2021-06-24 15:23:47 +08:00
 balabalaguguji

有个网站,需要校验是否有权限,判断头部的 token 参数。

但是,直接在浏览器上输入网址后,能否自动头部添加 token 呢?

是不是只有 session+cookie 的方式了。

8690 次点击
所在节点    程序员
80 条回复
yeqizhang
2021-06-24 18:28:32 +08:00
这标题取的,你这种情况和 get post 没关系啊,只是浏览器地址栏只能 get,是接口就放尾巴上,不过打开一个接口这是什么需求??如果打开网页,还可以将这个网页放行,里边的接口再用 js 加上吧
balabalaguguji
2021-06-24 18:30:57 +08:00
@yeqizhang #21 是服务端渲染页面,第一次 get 请求时就需要知道是否有权限访问,没 token 就没法判断
yeqizhang
2021-06-24 18:33:43 +08:00
@balabalaguguji 那只能加尾巴或者 cookie 了
balabalaguguji
2021-06-24 18:40:32 +08:00
@malaohu #7 嗯,整个中间页应该是可以的
balabalaguguji
2021-06-24 18:41:32 +08:00
@yitingbai #15 面对所有用户的网页,不能依赖插件
balabalaguguji
2021-06-24 18:46:33 +08:00
@Yourshell #16 这个方式好像是弹出系统的登录框?怎么设置 token 到头部还是没看懂
iceheart
2021-06-24 18:50:37 +08:00
cookie 被设计出来就是干这个的
baobao1270
2021-06-24 21:51:07 +08:00
jwt?
hjiang
2021-06-24 23:13:30 +08:00
在古代,cookie 还没有被发明的时候,程序员就是在 URL 后面加上 sid=xxxxxxxxx 这样的方式记录登录状态的。

当然,这样是安全性极差的。
dangyuluo
2021-06-25 00:27:22 +08:00
GET 请求也是可以有 body 的,不过默认浏览器不会用。你写个浏览器就可以了。。
xiadong1994
2021-06-25 01:57:59 +08:00
你倒是说为啥不用 session+cookie 啊
nvkou
2021-06-25 02:44:37 +08:00
等等…就算是服务器渲染也可以加脚本吧。现在还有不用 xhr 的网站?
ThomasTrainset
2021-06-25 07:58:49 +08:00
让用户装插件不现实,我觉得你可以把 token 拆成几部分,混淆到 url 里,取的时候按照一定规则取就好了,有需要的话,再将这种 token 失效时间搞的短一点。
ladypxy
2021-06-25 08:04:35 +08:00
URL 里加参数啊
liuidetmks
2021-06-25 08:42:18 +08:00
我也很烦在 head 里面设置 token 的接口,

每次出问题,想调试起来非常不方便。

但是后端大佬定的,没得法
Quarter
2021-06-25 08:56:03 +08:00
感觉这种自动添加的浏览器打开 URL 的好像只有 cookie 的方式,cookie 会每次请求自动添加到 header,其他的好像都需要处理
LiuJiang
2021-06-25 08:57:58 +08:00
@balabalaguguji 不能做加密操作?
Quarter
2021-06-25 09:03:08 +08:00
然后至于 token 的放在 URL 里面被窃取,我觉得有两种方式

一种,加上 token 和 IP 绑定,这样如果 token 被窃取,但是网络环境不一样可以防御一些,但是无法防御在同一公网出口的情况

另一种就是 vue 的方式,加载统一入口,然后通过 ajax 获取动态路由或者其他的路由方法鉴别权限,这样不用拦截前端界面,由前端自行判断拦截,后端主要做接口拦截,前端在统一做接口处理,如果未授权就跳转无权限界面,如果未登录跳转登录界面
JKeita
2021-06-25 09:12:09 +08:00
我们公司有个后台就是需要在浏览器插件里面添加 header,应该是一个样。
balabalaguguji
2021-06-25 09:19:22 +08:00
@xiadong1994 #31 因为网站一早就是用的 token 现在某些页面改为服务端渲染才遇到这个问题,另外 token 更好做负载均衡等

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

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

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

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

© 2021 V2EX