GET 方法有没办法传递 token

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

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

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

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

9005 次点击
所在节点    程序员
80 条回复
liyunyang
2021-06-25 09:20:02 +08:00
连接后面加 jwt 认证,token 加密在里面
balabalaguguji
2021-06-25 09:20:59 +08:00
@liyunyang #41 没看清题目哦,不能放链接后面,不管有没加密。
Felldeadbird
2021-06-25 09:21:25 +08:00
我一般丢 URL 。简单粗暴,确保 SSL 环境即可。时效一般不长。如果要提高安全性,就结合唯一指纹,时间,拆分伪装。
balabalaguguji
2021-06-25 09:22:53 +08:00
@Felldeadbird #43 如果已经登录过了,第二天用户输入 url 后还要自己输入自己的 token,多不现实。
dbpe
2021-06-25 09:26:23 +08:00
@balabalaguguji session 是基于 cookie 的..早期一些移动设备不支持 cookie 的,那么 tooken 就诞生了...


PS:没登录不应该是提示没权限么..怎么就白屏了..
falcon05
2021-06-25 09:32:31 +08:00
用不用 token 跟用不用 cookie 是两码事,token 可以存放在 cookie,也可以存放在 local storage 。
lusi1990
2021-06-25 09:36:11 +08:00
听大家的 先搞懂 cookie , session, token 的概念
balabalaguguji
2021-06-25 09:41:40 +08:00
@lusi1990 #47 你先读懂题目
xwayway
2021-06-25 09:46:57 +08:00
你的 url 是直接走的接口?不是的话,应该是前端页面吧,到了你页面,你在页面内 js 去处理就行了啊。虽然不太熟悉现在 vue 什么的的逻辑。但是写过老式的 jq 那套,可以在页面 load 的时候,去读取 localstorage,判断有没有 token 啊。拿到了 token 再去请求后端接口。没有去登录页面,难道不都是这么做的?
balabalaguguji
2021-06-25 09:52:10 +08:00
@xwayway #49 是服务端渲染的页面,所以第一步是到了服务端,得判断是否有权限然后才决定是否渲染数据。
pkoukk
2021-06-25 09:53:33 +08:00
token 为啥不能放进链接里?放哪儿不都会泄露?我们理解的 token 是用户输入自己的秘钥之后,服务端返回的有时效性的一个 Id.
如果你要限制 token 的使用范围,不希望复制就会泄露,那很简单啊,服务端对 token 做管理,ip mac 限定这个 token 必须和申请时相同就行。
cloverzrg2
2021-06-25 09:58:47 +08:00
业务场景是啥,你这可能是 XY 问题
balabalaguguji
2021-06-25 10:00:23 +08:00
@pkoukk #51 复制页面地址给别人后,是不是 token 就泄露了,地址是可以方便复制分享的。
NillSpake
2021-06-25 10:04:57 +08:00
服务器点对点访问,代理一波,nginx 开放访问,通过 lua 或者手动修改 header 请求头,追加参数
Anshi
2021-06-25 10:07:08 +08:00
这是要获取页面的那个 get 请求也能携带身份信息吧,这个请求一般是浏览器自己发出的吧,不用 cookie 还真不知道有啥办法。。。
balabalaguguji
2021-06-25 10:07:22 +08:00
@NillSpake #54 没了解过,但是这样你怎么拿到 token,特别是用过了几天后再来访问,localstorage 里面是还有 token 的,nginx 里面你怎么拿到
balabalaguguji
2021-06-25 10:08:39 +08:00
@Anshi #55 直接输入地址要在头部带东西,似乎只有 cookie 了。不然就做中间页做判断。
SmiteChow
2021-06-25 10:12:42 +08:00
Basic Auth
passerbytiny
2021-06-25 10:16:06 +08:00
你最好补充一个说明,目前不知道你的问题是哪一种。是通过地址栏输入 URL 第一次访问的时候 Header 中没有 Token,还是因为服务器端渲染每个 GET 请求都没 TOKEN 。
balabalaguguji
2021-06-25 10:24:39 +08:00
@passerbytiny #59 已经补充了,看上面 append 。已经登录过了,后面手动输入地址在浏览器访问时如何自动设置 token 到头部。

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

https://tanronggui.xyz/t/785554

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

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

© 2021 V2EX