【发布时间】:2016-10-16 17:42:45
【问题描述】:
我有一个使用 AWS CloudFront API 和 Lambda 创建 Cloud Front cookie 的应用程序。不幸的是,我无法使用标准 HTTP 响应格式设置 cookie,必须使用 document.cookie 从 HTML 页面将 cookie 设置到我的用户浏览器。 cookie 包括授予内容访问权限的策略、确认 cookie 真实性的签名和密钥对 ID。 Lambda 上的后端脚本创建 cookie 并将其作为有效负载发送给请求者,然后将其作为变量传递给 document.cookie。
我已经阅读了很多关于保护 cookie(HttpOnly、会话 cookie、安全标志等)的内容,并且我正在尝试了解 document.cookie 的安全风险。在安全的上下文中通过 Http 响应和 document.cookie 设置 cookie 有区别吗?恶意用户是否有可能在 cookie 是在客户端创建时将他们自己的策略插入 cookie 中,从而使他们能够访问其他内容,尽管页面是只读的?
这里有一些代码供参考:
payload = data["Payload"]
jsoned = JSON.parse(payload)
cookie = jsoned['cookie']
redirectUrl = jsoned['redirectUrl']
document.cookie = 'CloudFront-Policy' + "=" + cookie['CloudFront-Policy'] + "; path=/mydirectory";
document.cookie = 'CloudFront-Key-Pair-Id' + "=" + cookie['CloudFront-Key-Pair-Id'] + "; path=/mydirectory"
document.cookie = 'CloudFront-Signature' + "=" + cookie['CloudFront-Signature'] + "; path=/mydirectory"
我第一次在此发帖。我在这里先向您的帮助表示感谢。
-肯
【问题讨论】:
标签: javascript security amazon-web-services cookies