仅在特定域上加载iframe

时间:2012-07-15 18:04:22

标签: asp.net html iframe

我想允许某些网站使用我的域中的网页嵌入iframe。但是,我不希望任何人在没有我的权限的情况下使用iframe内容。如何才允许我选择的域名能够将iframe嵌入页面内容?

我知道vimeo会这样做,并允许视频所有者屏蔽某些他们认为不合适的网站上的视频。

我想要服务器端ASP.NET解决方案,因为可以更改Javascript代码。但是,如果可以使用javascript代码完成它的安全,那就没关系。

从我看到的情况来看,我需要以某种方式传递引荐来源,但是可以通过其他网站所有者手动修改以包含iframe本身的方式,并且它也可以在他们的网站上工作,而无需许可

1 个答案:

答案 0 :(得分:2)

由于它将是您在评论中提到的独立页面,因此您可以通过检查referer属性来执行此操作。

Request.UrlReferrer

看到它包含您要允许的域。当嵌入器将您的页面放入IFRAME的SRC属性并且页面首次加载时,此属性可用。

如果用户点击IFRAME内的链接,则无法保证将包含页面作为引荐来源传递。

如果您想允许IFRAME中的多个链接页面允许特定域,那么您需要坚持使用JavaScript based solution

但请注意,这两种方法都不是完全万无一失的。