防止网页被嵌入框架的代码
最近,国内开始流行另一种流氓行为:使用框架(Frame),将你的网页嵌入它的网页中。
比如,有一家网站号称自己是"口碑聚合门户",提供全国各个网上论坛的精华内容。但是,其实它就是用框架抓取他人的网页,然后在上面加上自己的广告和站标,这同盗版书商有何不同?!
不明内情的访问者,只看到地址栏是该门户的URL,不知道真正内容部分的网页,其实来自另一个网站。
为什么我反对这种做法?
1)它故意屏蔽了被嵌入网页的网址,侵犯了原作者的著作权,以及访问者的知情权;
2)大量业者使用的是不可见框架,使得框架网页与被嵌入的网页视觉上完全相同,欺骗性极高;
3)不良业者在被嵌入网页的上方或周围附加广告(甚至病毒和木马),不仅破坏原作者的设计意图和形象,而且属于侵权利用他人资源的谋利行为;
4)如果访问者在框架内部,从一个网页点击到另一个网页,浏览器的地址栏是不变的,这是很差的用户体验,并且访问者会将这种体验归咎于原网页的作者。
如果确有必要,将他人的网页嵌入自己的框架,那么应该同时满足以下三个条件:
A. 在框架网页的醒目位置,清楚地说明该网页使用了框架技术,并明确列出原网页的URL网址。
B. 在框架网页的醒目位置,向访问者提供"移除框架"的功能。
C. 不得附加任何广告或恶意代码。
如果你经常使用Google的图片搜索,你就会知道,Google就是这样做的。
当然,流氓业者不会理睬你的正当要求。所以,我写了一段很简单的javascript代码,大家只要将它放入网页源码的头部,那些流氓就没有办法使用你的网页了。
script type="text/javascript"
if (window!=top) // 判断当前的window对象是否是top对象
top.location.href =window.location.href; // 如果不是,将top对象的网址自动导向被嵌入网页的网址
/script
UPDATE
2010.8.15
发布升级版代码,使得除了本地域名以外,其他域名一律无法将你的网页嵌入框架。
阮一峰 阿里技术专家。著名技术博客作者,技术方向为 React + Node,自由软件运动的支持者
相关文章
- chrome插件-Adblock Plus 屏蔽浏览器网页所有广告
- circRNA表达量差异分析网页工具和代码哪个更可靠
- FastRWeb:R网页开发不止Shiny,还有另一种方案!注意文末有彩蛋!
- Incapsula 网页加速(CDN)相关技术信息
- python通过mechanize模块实现不断刷新网页的功能详解编程语言
- 利用htmlunit下载网页上的文件详解编程语言
- jsp中网页点击量统计问题详解编程语言
- MSSQL自动为你创建完美的网页(mssql 自动生成网页)
- 管理工具使用网页版Redis可视化管理,极速操作Redis(网页版redis可视化)
- 用asp自动解析网页中的图片地址
- jcrop网页截图工具(插件)开发
- JS添加网页桌面快捷方式的代码详细整理
- JS实现网页百叶窗效果
- javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)