猿问

HttpOnly cookie 如何与 Javascript 和身份验证代理一起使用?

我在 OIDC 反向代理后面有一个 Web 应用程序 - 换句话说,当我访问此应用程序时,我会被重定向到我的身份提供商,我登录并且我的浏览器设置一个 cookie,该 cookie 用于后续请求以证明我已登录在。

此 cookie 设置了HttpOnly标志,我认为这是防止恶意网站利用 XSS 漏洞的最佳实践。

但是,正如预期的那样,我的应用程序中的 Javascript 无权访问登录 cookie,因此在浏览器的控制台中,我看到返回应用程序的请求(尝试通过 HTTP 请求和 websocket 连接更新动态内容)被重定向到我的身份提供商(并被 CORS 策略阻止),因为他们无权访问登录 cookie。

  • 这是否意味着这样的架构无法使用Javascript回调应用程序?

  • 在这种情况下,禁用 HTTPOnly 标志以允许 Javascript 工作是否很常见?

  • 我的理解是,来自不同来源的恶意网站尝试访问我的应用程序的 Javascript 无论如何都会被 CORS 阻止,因此保留 HTTPOnly 标志是否只能帮助抵御攻击者设法将 Javascript 注入到我的应用程序中的攻击?


摇曳的蔷薇
浏览 63回答 1
1回答

慕婉清6462132

这是否意味着这样的架构不能使用Javascript?不能,这意味着JS无法从cookie中读取数据。我看到返回应用程序的请求(尝试通过 HTTP 请求和 Websocket 连接更新动态内容)被重定向到我的身份提供商(并被 CORS 策略阻止),因为它们无权访问登录 cookie。CORS 策略不应因为缺少 cookie 而阻止请求。如果缺少 cookie,则可能是因为 (a) 您的来源混淆并且该来源没有 cookie,或者 (b) 您没有启用跨来源请求的选项credentials 。禁用 HTTPOnly 标志以允许 Javascript 工作是否很常见?不。我的理解是,来自不同来源的恶意网站尝试访问我的应用程序的 Javascript 无论如何都会被 CORS 阻止,因此保留 HTTPOnly 标志是否只能帮助抵御攻击者设法将 Javascript 注入到我的应用程序中的攻击?是的。XSS 攻击非常常见,因此有许多工具可以缓解这些攻击。这是其中之一。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答