允许用户将我的页面嵌入 iframe 有什么风险?

What are the risk of allowing users to embeed my page in an iframe?

我正在考虑允许用户通过自己提供代码将我网站页面的特定 部分 嵌入到 iframe 中。这将只是那个页面,旨在向我的网站目标受众展示一些有趣的东西。除了给他们这样的代码,我不知道还有什么其他方法可以做到这一点:

<iframe src='A' width='B' height='C' frameborder='D'></iframe>

其中'A'是嵌入在iframe和'B'中的页面,'C'和'D'是可选参数,因此用户可以进行一些自定义.

'A' 不是用户获取代码的页面。 'A' 是页面的克隆,某些用户最终会希望将其嵌入到他们的站点中。简而言之,'A' 只是那个页面的 部分 ... 在一个完全不同的页面中。

但我不知道这对我来说会有什么样的风险(如果有的话)。或者如果有另一种方法来接近我想要的东西。或者如何允许用户仅嵌入该页面而不嵌入其余页面。

我在做什么没问题,还是我缺少一些基本的安全措施?

浏览器完全锁定了可以在 iframe 中访问来自不同来源的源的内容。他们将无法访问嵌入页面中的任何 DOM objects、url 或 js。

您可以使用 http headers.

来锁定哪些页面可以放在 iframe 中

您不想使用 iframed 的页面 X-Frame-Options: DENY

您只想使用 iframed 的页面 X-Frame-Options: SAMEORIGIN

您只希望通过特定 uri 进行 iframed 的页面(Chrome、Opera 不支持) X-Frame-Options: ALLOW-FROM uri

来源 https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options