MDN如何在服务器端检测来自iframe的请求并且不发送任何内容?

时间:2013-03-11 16:55:21

标签: iframe copy-protection

请注意:此问题与Server-side detection that a page is shown inside an IFrame没有直接关系,因为我向您展示了一个实例,其中会出现 MDN的人(Mozilla开发者网络)已经检测到内容正在传递给iframe,但是,如果您仔细阅读,我将讨论这可能与服务器端无关;它可能是某种“权利”问题,它以某种方式或某种方式我不知道。关键是要了解已存在的某些内容的工作原理

首先,我不想将MDN(Mozilla Developer Network)内容作为我自己的内容。我问这个是因为我真的很困惑。 MDN的那些人似乎已经搞了一个很好的技巧,我想知道它,但也许它比我意识到的更简单。

代码仅限:

<iframe src="https://developer.mozilla.org/en-US/docs/HTML/HTML5"></iframe>

以这个小提琴为例:

http://jsfiddle.net/jfcox/D3UNZ/

您是否注意到iframe中没有内容? Chrome网络标签上似乎没有与该请求相关的任何内容。

我向你保证,这可以在“普通”网站上运行,例如example.org。见http://jsfiddle.net/jfcox/nPwcu/

所以,我问,他们正在做什么来检测是否正在iframe发出请求? 有些浏览器 - 我不知道吗?奇怪的是,情况可能就是这样。来自IE9。

  

帮助保护您输入此信息的安全性   网站,此内容的发布者不允许这样做   显示在一个框架中。

哇!好吧,也许它不是服务器端,也许它都是Browser-Fu。即便如此,IE9和其他浏览器如何知道我不知道的内容?我需要了解什么才能了解​​这一点?

我有自己的怀疑,即网站的根目录中有一些文件,例如crossdomain.xml,用于定义内容使用权限等等的flash,但我仍然不知道在哪里如果是这样的话就开始了。

1 个答案:

答案 0 :(得分:1)

事实证明,这是一个非常简单的复制保护。您需要做的就是设置一个响应头。

是,“框架”,而不是“iframe”。

:eyeroll:

我认为这个名称是有道理的,考虑到有人可能仍会尝试使用旧的HTML 4 frame标签用于任何目的,我希望大多数浏览器/ DOM引擎都支持{{1给定HTML历史记录的标签。 Netscape创建/支持的框架as early as version 2.0frame是后来的纯粹微软发明,被广泛采用,IIRC。