【发布时间】:2013-02-23 10:45:37
【问题描述】:
我目前正在开发一个将使用至少两个域的 SaaS 平台:
并且可能会使用其他自定义域...
我正在尝试设计一种策略,以在使用所有域时启用相当多的安全性,同时将所有远程调用和“小部件”交互整合到 Domain(b) [https://example.com].
(快速说明 - 我使用“小部件”作为一般术语。这些位于源 HTML 页面上,而不是 iframe 插件或 javascript 文档写入。)
在阅读了关于 Portholes、JSONP、跨域脚本、浏览器安全模型等的大量文档之后……我想出了这个总体思路。我希望得到一些反馈...
- 登录到“网络”会为 Domain(b) 创建一个辅助 cookie -- WidgetSession
- 访问所有域 fetch Domain(b)/javascript/utils.js
- 对 Domain(b) 以外的域的访问获取 Domain(b)/api/widget-session.js ,它具有将活动 WidgetSession 注册到 utils.js javascript 包中的回调。
- 所有 API 交互都通过 WidgetSession cookie 进行,该 cookie 仅对一定数量的活动有效。
通过这种策略,我似乎能够绕过所有浏览器安全锁定,所涉及的工作量并不多,而且对消费者的风险/风险最小化。
谁能指出任何陷阱或提供更好的建议?
我尝试采用 iframe 方法(使用 porthole.js 库),这种方法可以跨域工作,但在涉及协议时,我一直在浏览器中被阻止。这听起来更简单、更安全,尽管它不会从缓存中受益。
【问题讨论】: