仅在特定域上加载iframe

Ida*_*ter 5 html asp.net iframe

我想允许某些网站在我的域中的网页上嵌入iframe。但是,我不希望任何人未经我的许可即可使用iframe内容。如何仅允许我选择的域将iframe嵌入页面内容?

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

我需要服务器端ASP.NET解决方案,因为可以更改Javascript代码。但是,如果可以使用javascript代码及其安全性来完成,那就可以了。

从我所看到的情况中,我需要以某种方式传递引荐来源网址,但这种方式可以由其他网站所有者手动更改为包括iframe本身,并且未经许可也可以在其网站上使用。

Men*_*hak 2

正如您在评论中提到的那样,它将是一个独立页面,因此您可以通过检查引用属性来做到这一点。

Request.UrlReferrer
Run Code Online (Sandbox Code Playgroud)

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

如果用户单击 IFRAME 内的链接,则不能保证将包含的页面作为引荐来源网址传递。

如果您想允许 IFRAME 内的多个链接页面允许特定域,那么您将需要坚持使用基于 JavaScript 的解决方案

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