我在 OIDC 反向代理后面有一个 Web 应用程序 - 换句话说,当我访问此应用程序时,我会被重定向到我的身份提供商,我登录并且我的浏览器设置一个 cookie,该 cookie 用于后续请求以证明我已登录在。此 cookie 设置了HttpOnly标志,我认为这是防止恶意网站利用 XSS 漏洞的最佳实践。但是,正如预期的那样,我的应用程序中的 Javascript 无权访问登录 cookie,因此在浏览器的控制台中,我看到返回应用程序的请求(尝试通过 HTTP 请求和 websocket 连接更新动态内容)被重定向到我的身份提供商(并被 CORS 策略阻止),因为他们无权访问登录 cookie。这是否意味着这样的架构无法使用Javascript回调应用程序?在这种情况下,禁用 HTTPOnly 标志以允许 Javascript 工作是否很常见?我的理解是,来自不同来源的恶意网站尝试访问我的应用程序的 Javascript 无论如何都会被 CORS 阻止,因此保留 HTTPOnly 标志是否只能帮助抵御攻击者设法将 Javascript 注入到我的应用程序中的攻击?
1 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
这是否意味着这样的架构不能使用Javascript?
不能,这意味着JS无法从cookie中读取数据。
我看到返回应用程序的请求(尝试通过 HTTP 请求和 Websocket 连接更新动态内容)被重定向到我的身份提供商(并被 CORS 策略阻止),因为它们无权访问登录 cookie。
CORS 策略不应因为缺少 cookie 而阻止请求。
如果缺少 cookie,则可能是因为 (a) 您的来源混淆并且该来源没有 cookie,或者 (b) 您没有启用跨来源请求的选项credentials
。
禁用 HTTPOnly 标志以允许 Javascript 工作是否很常见?
不。
我的理解是,来自不同来源的恶意网站尝试访问我的应用程序的 Javascript 无论如何都会被 CORS 阻止,因此保留 HTTPOnly 标志是否只能帮助抵御攻击者设法将 Javascript 注入到我的应用程序中的攻击?
是的。XSS 攻击非常常见,因此有许多工具可以缓解这些攻击。这是其中之一。
添加回答
举报
0/150
提交
取消