网页防止跨框架攻击

Posted 肥宅兜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网页防止跨框架攻击相关的知识,希望对你有一定的参考价值。

转载自:http://www.haorooms.com/post/liulanq_think_ie

 

防止网页垮框架

很简单,在你的网页中添加如下代码就可以了

<style> html{ visibility:hidden; }</style>
<script>
if( self == top){
        document.documentElement.style.visibility=‘visible‘;
}else{
        top.location = self.location;
}
</script>

上面的这个办法可以帮助我们解决网站扫描出来的垮框架漏洞。

谈谈IE和谷歌

在做web前端之前,我对浏览器没有什么概念,不知道什么内核了等等。在做web前端开发之后,我一步一步开始学习,渐渐的喜欢上了谷歌浏览器,因为谷歌浏览器强大的调试功能,可以让我的开发更加便捷,而且谷歌对css样式更加友好,即使你书写有些小的不规范,谷歌浏览器也能容忍你。在后来,随着css3和html5的发展和流行,IE渐渐失去了主导的地位,自IE9和IE10以后,渐渐的支持CSS3和html5但是对css3的一些特殊的属性,整个IE就不支持(例如css3弹性盒子等),所以,我一度对IE比较憎恨。

但是,你想想,为什么一些老的程序员还在用IE调试,为什么一些财务的系统统统用IE,一些国家的(像劳动保障部网站,证书查询的时候,必须用IE,谷歌会报错),铁道部网站近年来才支持谷歌浏览器,刚刚出来的时候,买票都不能用谷歌浏览器!

所以,看来,IE对安全性方面还是有一定的优势的,反观一些IE的老的不能再老的属性,只有IE浏览器才能支持,我之前写个一篇js导出excel的文章,也只有在IE浏览器下面才可以,文章地址:http://www.haorooms.com/post/js_excel ,说到这里,你应该对IE浏览器没有那么憎恨了吧。

其实,每个内核的浏览器,都有其存的的价值和优势。谷歌浏览器对一些老的属性和功能都是不支持的,下面我列举一些IE浏览器下面可以执行,但是谷歌浏览器不可以的例子,关于这样的例子有很多很多,不也不一一列举,仅仅列举几个。

一、先从CSS和html开始说起吧

style="ime-mode:disabled "

语法: ime-mode : auto | active | inactive | disabled

ime-mode这个css属性是设置或检索是否允许用户激活输入中文,韩文,日文等的输入法(ime)状态。假如你设置了disabled,那么你就不能切换中文输入法,只能用键盘上面的字母和数字。

二、页面过度效果。

在IE5.5及以上版本的浏览器中,增加了页面过渡效果,经过检查和实验,IE中是可以的,谷歌浏览器是不支持的。

方法:

只需在中添加一个特殊的即可,比如:

<meta http-equiv="Page-Enter" content="revealTrans(Duration=2.0,Transition=12)" />

http-equiv 作用很多,这里的值为 Page-Enter 是指在页面进入的时候发生,其他值还有:

Page-Enter : 进入页面

Page-Exit  : 离开页面

Site-Enter : 进入网站

Site-Exit  : 离开网站

content 当然就是内容咯,这里表示页面过渡的效果设置,这里的两个属性表示分别表示

Duration  : 过渡速度
Transition : 可选项。整数值(Integer)。设置或检索转换所使用的方式

具体数值介绍:

0 : 矩形收缩转换。 
       1 : 矩形扩张转换。

       2 : 圆形收缩转换。

       3 : 圆形扩张转换。 
       4 : 向上擦除。 
       5 : 向下擦除。 
       6 : 向右擦除。 
       7 : 向左擦除。 
       8 : 纵向百叶窗转换。 
       9 : 横向百叶窗转换。 
       10 : 国际象棋棋盘横向转换。 
       11 : 国际象棋棋盘纵向转换。 
       12 : 随机杂点干扰转换。 
       13 : 左右关门效果转换。 
       14 : 左右开门效果转换。 
       15 : 上下关门效果转换。 
       16 : 上下开门效果转换。 
       17 : 从右上角到左下角的锯齿边覆盖效果转换。 
       18 : 从右下角到左上角的锯齿边覆盖效果转换。 
       19 : 从左上角到右下角的锯齿边覆盖效果转换。 
       20 : 从左下角到右上角的锯齿边覆盖效果转换。 
       21 : 随机横线条转换。 
       22 : 随机竖线条转换。 
23 : 随机使用上面可能的值转换。

三、IE中防止网页另存为的方法

<noscript>
<iframe src="*.htm"></iframe>
</noscript>

上面的这些,应该测试,在谷歌浏览器中是不起作用的,在IE中可以很好的展现!

怎么样,这下不会对IE彻底鄙视了吧!(关于onselectstart="return false" 取消选取、防止复制 ,onpaste="return false" 不准粘贴,oncopy="return false;" oncut="return false;" 防止复制等等,这些在谷歌中也可以可以使用的,都支持的,但是你想凭借这些方法,阻止用户照搬照抄,从根本上将,那是不可能的!)

以上是关于网页防止跨框架攻击的主要内容,如果未能解决你的问题,请参考以下文章

HTML代码片段

SpringBoot使用mica-xss防止Xss攻击

防止跨站攻击——CSRFToken

PHP实现的防止跨站和xss攻击代码

来自阿里云的PHP实现的防止跨站和xss攻击代码,测试有用

如何防止跨站点脚本攻击