5

我想允许一些网站在我的域中嵌入一个 iframe。但是,我不希望任何人能够在未经我许可的情况下使用 iframe 内容。如何仅允许我选择的域能够将 iframe 嵌入页面内容?

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

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

据我所见,我需要以某种方式传递引荐来源网址,但其他网站所有者可以手动更改以包含 iframe 本身,并且它也可以在他们的网站上运行,无需许可。

4

1 回答 1

2

由于它将是您在评论中提到的独立页面,因此您可以通过检查 referer 属性来做到这一点。

Request.UrlReferrer

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

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

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

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

于 2012-07-15T18:28:02.170 回答