前面,我的有一篇防止用户XSS注入的文章,是一个php函数,地址是:http://www.haorooms.com/post/php_xss ,对于各种攻击,首先你的代码要有严密的逻辑性,不要有漏洞。还有,你用的一些框架或者源码,本身有什么漏洞等,可以对这些漏洞做一些修复等等。
今天首先是讲讲防止网页跨框架的方法,其次讲讲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;" 防止复制等等,这些在谷歌中也可以可以使用的,都支持的,但是你想凭借这些方法,阻止用户照搬照抄,从根本上将,那是不可能的!)
今天就先到这里吧!
有什么问题大家可以留言,相互交流!谢谢!