请注意:此问题与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,但我仍然不知道在哪里如果是这样的话就开始了。
答案 0 :(得分:1)
事实证明,这是一个非常简单的复制保护。您需要做的就是设置一个响应头。
是,“框架”,而不是“iframe”。
:eyeroll:
我认为这个名称是有道理的,考虑到有人可能仍会尝试使用旧的HTML 4 frame
标签用于任何目的,我希望大多数浏览器/ DOM引擎都支持{{1给定HTML历史记录的标签。 Netscape创建/支持的框架as early as version 2.0和frame
是后来的纯粹微软发明,被广泛采用,IIRC。