【问题标题】:Where to store the access token so it cannot be vulnerable to XSS访问令牌的存储位置,使其不易受到 XSS 攻击
【发布时间】:2018-10-19 13:16:59
【问题描述】:

我正在开发一个网络应用程序,并且正在处理用户身份验证。我可以通过最初对 API 进行 HTTP POST 调用来获取 访问令牌

这个想法是知道将它存储在哪里,这样它就不会受到 XSS 的攻击。

听说过 HttpOnly Cookie,它可以让客户端(javascript)读取 cookie,但问题是当我无法访问它时,为什么我需要存储一些东西.如何将存储在 cookie 中的后端 (API) 访问令牌发送回只有 http,因为我无法获取它,所以我无法将它附加到我的 http 请求 的标头中。

另外,我可以使用 javascript 添加带有 HttpOnly 标志的 coockie 吗?

【问题讨论】:

  • HttpOnly 是供服务器设置的,所以客户端不能更改值....
  • @epascarello 我想如何使用 httponly 将访问令牌发送回服务器?我的意思是服务器可以设置一个 coockie 来存储用户访问令牌,如果是这样,当我无权访问它时,如何将访问令牌从客户端发送回服务器!我在这里有点困惑!
  • 如果你想把它发回做一个发布请求或者只是从后端请求它开始。
  • @epascarello 我不认为我明白你的意思,发布请求我明白,但是在发布请求上附加什么?最后一部分只是从后端请求它开始我想我也没有这个,你能用更多的话或例子解释一下吗?

标签: javascript java security spring-security xss


【解决方案1】:

HttpOnly 表示您无法从客户端上的 Javascript 读取它,但浏览器仍然知道该 cookie,并且它会被添加到您向服务器发出的任何后续请求中。

例如,它对于身份验证会话 cookie 很有用。 会话 cookie 通常是不透明的令牌,对用户无意义,仅对服务器有意义。因此,客户端代码没有真正的理由需要读取它们

另外,我可以使用 javascript 添加带有 HttpOnly 标志的 cookie 吗?

没有

【讨论】:

    猜你喜欢
    • 2016-04-18
    • 1970-01-01
    • 2015-12-31
    • 2016-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    相关资源
    最近更新 更多