同源策略

同源策略规定:不同域的客户端脚本在没有明确授权的情况下,不能读写对象的资源。

同源和异源

不同域

  • 协议不同(HTTP与HTTPS)
  • 域名不同(顶级域,www域和子域)
  • 端口不同(比如80端口和81端口)

同域

  • 多了目录,符号协议,域名,端口都相同

网页授权

通过HTTP响应头返回字段设置的,设置字段如下:Access-Controll-Allow-Origin: http://www.demo.com

沙盒框架(Sandboxed frame)

  • 是对常规<iframe>表现行为的扩展,它能让顶级页面对其嵌入的子页面及这些子页面的子资源设置一些额外的限制

  • 通过<iframe>的参数实现限制

    • Allow-scripts :是否允许执行javascript脚本,没有则不允许
    • Allow-forms : 是否允许使用form表单,没有则不允许
    • Allow-top-navigation : 是否允许嵌入子页面控制顶级窗口的地址跳转,没有则不允许
    • Allow-same-origin : 是否允许访问同源数据,没有则不允许

Flash安全沙箱

  • 分为本地沙箱与远程沙箱
  • 类似同源策略,在同一域内的资源会被放到一个安全组下,称为安全沙箱
  • Web站点通过crossdomain.xml文件配置可以提供允许的跨域访问本域上内容的权限(放置于站点根目录)

    <cross-domain-policy><allow-access-form domain=".youku.com" />
    </cross-domain-policy>
    

Cookie的安全策略

  • Domain 用于指定Cookie的有效域
  • Path 用于指定Cookie的有效URL路径
  • Secure 如果设置该属性,仅在HTTPS请求中提交Cookie
  • Http 其实是HttpOnly, 如果设置该属性,客户端javascript无法获取Cookie的值

内容安全策略 (Content Security Polity, CSP)

通过编码在HTTP响应头中的指令来实施策略

  • Content-Security-Polity:script-src 'self' https://baidu.com
  • CSP的一些指令

    • default-src : 该指令在某种资源类型指定指令没有被定义的情况下制定了所有资源类型的加载策略(即默认的资源加载策略)
    • script-src : 该指令指定了Web应用程序可以加载的脚本的域或URL
    • object-src : 该指令制定了Web应用程序可以加载的插件,如Falsh
    • style-src : 该指令制定了Web应用程序可以加载的CSS样式表的域或URL
    • img-src : 该指令指定了Web应用程序可以加载的图片的域或URL
    • media-src : 该指令指定了Web应用程序可以加载的音视频的域或URL

    • frame-src : 该指令指定了Web应用程序可以加载的框架的域或URL

    • font-src : 该指令指定了Web应用程序可以加载的字体的域或URL

    • connect-src : 该指令指定了Web应用程序可以加载的像XHR, WebSockets, 以及EventSource等脚本接口的域或URL

    • plugin-types : 该指令指定了哪些MIME类型的插件可以被加载(浏览器支持度不够)

    • form-action : 该指令指定了HTML表单可以提交的URLS(浏览器支持度不够)

    • reflected-xss : 该指令告诉浏览器开启或关闭任何用于过滤或组织反射跨站脚本攻击的启发式算法,这相当于X-XSS-Protection响应头的效果(浏览器支持度不够)

浏览器特性与安全策略相关推荐

  1. 细说浏览器特性检测(2)-通用事件检测

    在上一篇中介绍了jQuery1.4版本新增的几个浏览器特性检测方案和具体的目的,本文将以事件为中心,介绍一个较为完整.通用的事件检测方案. 事件检测,即检测某一事件在不同的浏览器中是否存在(可用),这 ...

  2. php事件检测,细说浏览器特性检测(2)-通用事件检测_jquery

    在上一篇中介绍了jQuery1.4版本新增的几个浏览器特性检测方案和具体的目的,本文将以事件为中心,介绍一个较为完整.通用的事件检测方案. 事件检测,即检测某一事件在不同的浏览器中是否存在(可用),这 ...

  3. 细说浏览器特性检测(1)-jQuery1.4添加部分

    浏览器特性检测即通过探测对象是否拥有某个属性或者函数,或者通过其他的编码探测方式,来决定其是否支持某一功能.特性.其最经典的运用莫过于通用的addEvent函数: function addEvent( ...

  4. 那些开源程序中让人叹为观止的代码 - 1 浏览器特性判断

    浏览器特性判断 解决问题:判断某事件/方法在当前浏览器中是否支持 开源程序:Modernizr 众所周知,各个不同的浏览器对于代码渲染的实现也各自为政百花齐放,虽然有W3C在维护着标准,但是由于市面上 ...

  5. java 浏览器 安全_安全策略-IE浏览器防黑十大秘籍

    1.管理好Cookie 在IE6.0中,打开"工具"→"Internet选项"→"隐私"对话框,这里设定了"阻止所有Cookie& ...

  6. ieBetter.js-让IE6-IE8拥有IE9+,Chrome等浏览器特性

    http://www.zhangxinxu.com/wordpress/?p=3835

  7. Web安全1沙箱隔离

    1.web安全 Web安全的本质是信任问题 •由于信任,正常处理用户恶意的输入导致问题的产生 •非预期的输入(就是不是程序员预期的客户的输入) 安全是木桶原理,短的那块板决定的木桶世纪能装多少水,同样 ...

  8. cef 前进后台 实现_CefSpider: 一个基于Webkit,Cef框架构建爬虫,项目代号:“车风”,具备浏览器所有特性,欢迎你给我一个Star,你的Star是该项目前进的动力!...

    欢迎大家给我一个Star,你的Star是该项目前进的动力! CefSpider设计图 CefSpider 产品开发代号为"车风",后面相关说明可能以'车风'代替进行描述,该项目以C ...

  9. axure 动态面板 自动适应浏览器宽度_动态面板之“固定到浏览器”与“自适应窗口宽度”特性解读图文教程(18)...

    特性:固定到浏览器 案例:固定位置与锚点链接 特性:自适应窗口宽度 案例:底部导航横向铺满全屏 补充,点击小图,动态切换大图 一.固定到浏览器特性 1.准备材料: (1)直接复制粘贴一篇长的图文文档到 ...

最新文章

  1. 线程wait()和sleep()的区别
  2. tms tck_在雅加达EE TCK中使用Arquillian的可能方法
  3. Java学习笔记2——常用类
  4. java 深入了解DTO及如何使用DTO
  5. 不同vlan通信(三层交换)
  6. python分配问题_1.1python解决数学建模之席位分配问题
  7. MySQL 游标的详解
  8. 数据挖掘入门到精通—R语言视频教程
  9. window安装python27和配置环境变量
  10. 韩顺平_JAVA_视频教程_下载(打开迅雷,直接复制链接地址即可下载)
  11. AJAX请求中payload和formdata两种方式
  12. 数据库变为可疑_SQL数据库可疑解决方法
  13. linux和windows文件加密,在Linux和 Windows 上使用 EncFS,如何加密雲存儲
  14. EOF和BOF的区别
  15. Python 微信机器人
  16. 一学期c语言的学习总结
  17. ThinkPHP5验证是不是手机号方法
  18. 又要数数小绵羊(C++) kkmd66
  19. 极坐标梯度公式_梯度的极坐标表达式
  20. python中text格式_python读取各种格式的文本

热门文章

  1. android视频播放器5.0,最强安卓播放器MX Player支持安卓5.0了(附官方下载地址)
  2. 《安富莱嵌入式周报》第254期:2022.02.21--2022.02.27
  3. 你在支付宝种的树,真的改变了这片沙漠
  4. 极目智能发布首款「全国产化」L2级智能驾驶方案,已获得10余家车企定点
  5. ROG Strix Carry鼠标蓝牙模式下电脑搜不到问题
  6. windows双路由怎么配置
  7. 雨课堂2.1软件过程与配置管理
  8. 图像测试卡规格选择——SFRplus测试卡
  9. 强悍的nmap扫描工具
  10. mysql数据库主主模式配置