http - 浏览器如何存储/重新创建授权 token ?

标签 http post cookies authorization

我正在查看此页面的网络事件:https://helm.csod.com/ux/ats/careersite/4/home?c=helm&lang=de-DE

特别是在名称为“search”的发布请求中。它使用授权 token 。

tldr:以下授权 token 如何存储在客户端? enter image description here

目标:

我想了解浏览器(客户端)如何存储此授权 token 。我不需要获取数据或知道如何用 Selenium 或其他东西进行抓取。我只是对背后的机制感兴趣。

我尝试过的:

我在页面源中找到了 token :view-source: https://helm.csod.com/ux/ats/careersite/4/home?c=helm&lang=de-DE

  • 似乎在 /player-career-site/1.15.4/pages/home.js 中创建了一个对象 csod
  • 然后 key 存储在 csod.context 中。
  • 最后,调用 csod.player.initialize(csod.context)

不幸的是,我未能深入代码并找到这些函数,因为 initialize 的匹配太多,而我的 js 技能太差了。 作为存储,我只知道 Cookie。它可能会被转换/加密并存储在 cookie 中吗?但在添加到请求 header 之前,如何将其恢复为“原始” token ?

最佳答案

这似乎是一种 CSRF 预防方法。

token 是在后端使用 key 创建的,它将原始 key 存储在 session 中并将 token 发送到客户端。

客户端发送请求时,将token与数据一起作为header或与数据一起发布,然后后端获取session中存储的key,用相同的方法生成token并与发布的进行比较 token 。如果它们相等,则没有问题,授予访问权限。

无需恢复,因为您无法解密,具体取决于算法(sha256、md5 等)

浏览器不会这样做,因为它可以被操纵,这是没有意义的。

关于http - 浏览器如何存储/重新创建授权 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59023709/

相关文章:

java - 如何执行填充了cookie值的HTTP GET方法?

json - POST 请求后在 swift 模型中访问值的问题

http - Delphi 突触 TTCPBlockSocket

javascript - Hapijs - 向所有请求添加 cookie

android - 如何在应用程序执行之间保留 webview cookie?

javascript - 我可以在 JavaScript 中限制数组的长度吗?

python - 以类似文件的方式读取 HTTP 响应的库?

http - 为什么链接不显示 http 协议(protocol)(例如 CDN 链接)?

file - http页面未完全下载QT

html - 使用 HTTP POST 获取 HTML 表单提交上的 JSON 数据