请注意:这个问题与问题没有直接关系服务器端检测 IFrame 内显示的页面,正如我向您展示的一个例子它会出现MDN(Mozilla 开发者网络)的人员是already检测内容正在传递到 iframe,不过,如果您阅读本文,我会讨论这根本与服务器端无关的可能性;这可能是某种我不知道的“权利”问题,以某种方式或方式宣布。关键是要理解已经存在的东西是如何works.
首先,我不想抄袭 MDN(Mozilla 开发者网络)内容作为我自己的内容。我问这个问题是因为我真的对此感到困惑。 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
?
是否有一些我不知道的 Browser-Fu?奇怪的是,情况可能就是这样。从IE9开始。
为了帮助保护您在此输入的信息的安全
网站,该内容的发布者不允许
显示在框架中。
哇!好吧,也许这不是服务器端的,也许都是浏览器端的。即便如此,IE9 和其他浏览器怎么知道我不知道的事情呢?我需要查找什么才能了解这一点?
我有自己的怀疑,即网站的根目录下有一些文件,例如crossdomain.xml
对于定义内容使用权限或其他内容的闪存,但如果是这种情况,我什至不知道从哪里开始。
事实证明,这是一个非常简单的复制保护。您需要做的就是设置响应标头。
- https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options
- https://datatracker.ietf.org/doc/html/draft-ietf-websec-x-frame-options-00
是的,“frame”,而不是“iframe”。
:翻白眼:
我想这个名字是有道理的,考虑到有人仍然可以尝试使用旧的 HTML 4frame
标签用于任何目的,我希望大多数浏览器/DOM 引擎都内置支持frame
给定 HTML 历史记录的标签。 Netscape 创建/支持的框架早在2.0版本 and iframe
IIRC 是后来被广泛采用的纯 Microsoft 发明。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)