1

我注意到至少有一个网站将我的网站包含在 iframe 中,我很好奇禁止这种行为的最佳方法。

我已经包含了一些 Javascript,如果一个网站正在构建我的框架,它们应该能够获取,这样我就可以生成一个我想要阻止的网站列表。但是,有些网站我不想禁止 iframe。

是否有可能通过 IIS (7) 查看站点列表,如果请求来自该列表中的站点,则以某种方式失败或阻止请求?

谢谢!

4

1 回答 1

1

使用X-Frame-Options: denyHTTP 标头来防止任何人<iframe>访问您的站点。如果您希望能够访问<iframe>自己的站点但阻止其他人这样做,只需使用
X-Frame-Options: sameorigin.

X-Frame-Options在 MDN上阅读更多内容。

旁注:黑名单通常不适用于安全性。白名单是正确的方法。


Allow-From 将只允许单个 URI,这意味着如果我使用 Facebook URI,它将杀死我的图像上传器,如果我使用 Sameorigin,图像上传器(以及我自己的任何 iframe)将起作用,但它会杀死Facebook。你知道是否有任何类型的 Allow-From 和 Sameorigin 组合,以便它们都被强制执行?

鉴于当前的规范,这是不可能的。但是,您可以使用 2 个不同的 URL 来提供相同的内容:一个用于 Facebookallow-from中的 iframe(发送),一个用于您自己的 iframe(发送sameorigin)。不是很好,但总比没有好。

于 2013-03-11T17:40:02.100 回答