2013-03-11 57 views
1

我注意到至少有一个网站在iframe中包含我的网站,我很好奇禁止这种行为的最佳方法。有没有办法设置iframe黑名单?

我已经加入了一些Javascript,如果一个网站正在构建我的网站,那么我应该可以拿起一些Javascript来生成我想阻止的网站列表。但是,有些网站我不想拒绝iframing。

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

谢谢!

回答

1

使用X-Frame-Options: deny HTTP标头可阻止任何来自的人访问您的网站。如果您希望能够您自己的网站,但阻止他人这样做,只需使用
X-Frame-Options: sameorigin

More reading on X-Frame-Options over at MDN.

边注:一般黑名单不适用于保障工作。 白名单是正确的方法。


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

This is not possible given the current spec.你可以,但是,使用2个不同的网址提供相同的内容:一个是在Facebook的iframing(发送allow-from),一个为自己的I帧(发送sameorigin)。不是很好,但总比没有好。

+0

我试着将X-Frame-Options设置为'拒绝',但它关闭了所有的iframe(这是预期的)。我有我的网站上的iframe页面,我需要保持可用的Facebook页面。该设置也与我的图像上传脚本混淆,它会执行一些奇怪的iframe操作。 – jmastic 2013-03-11 17:59:46

+0

虽然我同意使用白名单方式。如果可能的话,这可能是更好的方法。 – jmastic 2013-03-11 18:00:10

+0

好的,请使用'allow-from:'。 – 2013-03-11 18:00:36

相关问题