• 转自haorooms :网页防止黑客跨框架攻击,及浏览器安全性想到的


     

     

    前面,我的有一篇防止用户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;" 防止复制等等,这些在谷歌中也可以可以使用的,都支持的,但是你想凭借这些方法,阻止用户照搬照抄,从根本上将,那是不可能的!)

    今天就先到这里吧!

    有什么问题大家可以留言,相互交流!谢谢!

  • 相关阅读:
    PHP学习笔记:APACHE配置虚拟目录、一个站点使用多域名配置方式
    转载:分页原理+分页代码+分页类制作
    PHP学习笔记:数据库学习心得
    PHP学习笔记:用mysqli连接数据库
    PHP学习笔记:MySQL数据库的操纵
    PHP学习笔记:利用时间和mt_rand函数获取随机名字
    PHP学习笔记:等比例缩放图片
    前端学习(一) html介绍和head标签
    Python 协程
    Python 线程----线程方法,线程事件,线程队列,线程池,GIL锁,协程,Greenlet
  • 原文地址:https://www.cnblogs.com/qilinge/p/4973716.html
Copyright © 2020-2023  润新知