【发布时间】:2021-07-12 05:03:25
【问题描述】:
我正在开发一个网络应用程序(如小部件),我的潜在客户将在他们的网站上使用它来造福他们的用户。我正在考虑向他们提供应用程序的最佳方式,同时能够控制谁在使用我的小部件,以便我可以正确地向他们收费。
我查看了之前的一些帖子,例如 iframe for a widget 和 iframe best practices limitations 和 JS to load iframe,但它们已经 7 到 10 岁了,并不是我想要做的。
话虽如此,到目前为止......最好的交付方式似乎是以下几种方式的组合:
iframe-
Content-Security-Policy frame-ancestorsHTTP 头 -
cookies+$http_referer在服务器端检查以避免偷偷摸摸的用户
在加载时,我将发送带有 URL 的密钥以提供定制/品牌版本,并且我计划依靠 cookie 进行后续调用
我有几个问题:
-
我是否应该直接使用带有特定 URL 的 iframe 标记,例如
<iframe src="https://superwidget.com/SecretKey=12345678"></iframe>
或者我应该使用 JavaScript 使用相同的 URL 加载/创建 iframe 元素?除了能够在 JS 版本中延迟加载 iframe 之外,使用其中一种或另一种有什么好处?
-
所以我打算使用
iframe/CSP/http referer/cookie组合...有没有其他(更好的)方法来提供小部件并确保只允许观众使用它? -
我在这里缺少的其他任何东西
任何帮助表示赞赏!
【问题讨论】:
-
为什么需要 iframe?这听起来就像您可以轻松地使用 javascript 将您的小部件添加到页面中,您将摆脱 iframe 的所有麻烦,并且您可以获得与源页面交互的能力,例如能够在需要时重定向到另一个页面,或检查屏幕大小并在移动设备上最小化,并允许最大化到完整的视口大小等...您可以验证对后端的任何调用来自该已知域,也...
标签: javascript security cookies iframe