1.web安全

Web安全的本质是信任问题
•由于信任,正常处理用户恶意的输入导致问题的产生
•非预期的输入(就是不是程序员预期的客户的输入)
安全是木桶原理,短的那块板决定的木桶世纪能装多少水,同样的,假设把99%的问题都处理了,那么1%的余留会是造成安全问题的那个短板
 
2.当我们访问一个网址的时候,这中间发生了什么?

•输入网址
•浏览器查找域名的IP地址
•浏览器给Web服务器发送一个HTTP请求
•服务端处理请求
•服务端发回一个HTTP响应
•浏览器渲染显示HTML
 
3.cookie与session的区别
(1)cookie通常的数据保存在客户端浏览器,session保存在服务器
(2)服务端保存状态机制需要在客户端做标记,所以session可能借助cookie机制
(3)cookie通常用于客户端保存用户登录状态
 cookie
字段 说明
Name Cookie名称
Value Cookie的值
Domain 用于指定Cookie的有效域
Path 用于指定Cookie的有效URL路径
Expires 用于设定Cookie的有效时间
Secure 如果设置该属性,仅在HTTPS请求中提交Cookie
Http 其实应该是HttpOnly,如果设置该属性,客户端JavaScript无法获取Cookie值
 
 
 
 
 
 
 
 
 
seesion
 

字段

说明

Key

Session的key

Value

Session对应key的值

 
 
 
 
 
 
 
 
 
 
4.浏览器解析顺序和浏览器解码顺序
(1)解析顺序
 (2)解码顺序
 
 
 
5.DOM树
 
6.浏览器特性与安全策略
(1)同源策略
同源策略规定:不同域的客户端脚本在没明确授权的情况下,不能读写对方的资源。
 
同域与不同域:
顶级域名:不带www的
二级域名:带www的

下面是与www.test.com同域情况

域名 是否同域 原因
https://www.test.com 不同域 协议不同,HTTP与HTTPS为不同协议
http://fooying.test.com 不同域 域名不同,www与fooying为不同的子域
http://test.com 不同域 域名不同,顶级域与www为不同子域
http://www.test.com:81 不同域 端口不同,81与默认的80为不同端口
http://www.test.com/fooying 同域 只是多了目录,符号协议、域名、端口相同
 
 
 
 
 
 
 
 授权
HTTP响应头返回
Access-Control-Allow-Origin:http://www.fooying.com
 
 7.沙箱框架(Sandboxed frame)
(1)是对常规的<iframe>表现行为的扩展,它能让顶级页面对嵌入的子页面及这些子页面的子资源设置一些额外的限制。
(2)通过<iframe>的参数实现限制,如,可以在<iframe sandbox="allow-scripts allow-forms">,比如百度搜索,如果没有这allow-forms,则页面跳转不了

参数

说明

Allow-scripts

是否允许执行JavaScript脚本,没有则不允许

Allow-forms

是否允许使用form表单,没有则不允许

Allow-top-navigation

是否允许嵌入子页面控制顶级窗口的地址跳转,没有则不允许

Allow-same-origin

是否允许访问同源数据,没有则不允许

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8.Flash安全沙箱(用来播放flash的)
 
分为本地沙箱和远程沙箱
 
类似于同源策略,在统一域名内的资源会被放到一个安全组下,称为安全沙箱
Web站点通过crossdomain.xml文件配置可以提供允许的域, 跨域访问本域上内容的权限(放于站点根目录)
 
 
9.cookie安全策略
Domain 用于指定Cookie的有效域
Path 用于指定Cookie的有效URL路径
Secure 如果设置该属性,仅在HTTPS请求中提交Cookie
Http 其实应该是HttpOnly,如果设置该属性,客户端JavaScript无法获取Cookie值
 
 
 
 
 
10.内容安全策略(Content Security Policy)CSP
通过编码在http响应头中的指令来实施策略
 
如:Content-Security-Policy:script-src 'self'  https://www.test.com
 
 
 
 
 
 
 
 
 
 

Web安全1&沙箱隔离的更多相关文章

  1. net搭建热插拔式web框架(沙箱的构建)

    net搭建热插拔式web框架(沙箱的构建) 上周五写了一个实现原理篇,在评论中看到有朋友也遇到了我的问题,真的是有种他乡遇知己的感觉,整个系列我一定会坚持写完,并在最后把代码开源到git中.上一篇文章 ...

  2. 第二篇 基于.net搭建热插拔式web框架(沙箱的构建)

    上周五写了一个实现原理篇,在评论中看到有朋友也遇到了我的问题,真的是有种他乡遇知己的感觉,整个系列我一定会坚持写完,并在最后把代码开源到git中.上一篇文章很多人看了以后,都表示不解,觉得不知道我到底 ...

  3. 基于.net搭建热插拔式web框架(实现原理)

    第一节:我们为什么需要一个热插拔式的web框架? 模块之间独立开发 假设我们要做一个后台管理系统,其中包括“用户活跃度”.“产品管理”."账单管理"等模块.每个模块中有自己的业务特 ...

  4. Web 前端攻防(2014版)-baidu ux前端研发部

    http://fex.baidu.com/articles/page2/ Web 前端攻防(2014版) zjcqoo | 20 Jun 2014 禁止一切外链资源 外链会产生站外请求,因此可以被利用 ...

  5. 关于JavaScript的沙箱模式

    从语言学的角度上来说,允许代码无节制地使用全局变量,是最错误的选择之一.而更可怕的,就是一个变量"可能"成为全局的(在未知的时间与地点).但是这两项,却伴随JavaScript这门 ...

  6. 理解Android安全机制

    本文从Android系统架构着手,分析Android的安全机制以SE Android,最后给出一些Android安全现状和常见的安全解决方案. 1.Android系统架构 Android采用分层的系统 ...

  7. javascript优化--14模式2(DOM和浏览器模式)

    远程脚本 XMLHttpRequest JSONP 和XHR不同,它不受同域的限制: JSONP请求的可以是任意的文档: 请求的URL通常格式为http://example.js?calback=Ca ...

  8. Threat Risk Modeling Learning

    相关学习资料 http://msdn.microsoft.com/en-us/library/aa302419(d=printer).aspx http://msdn.microsoft.com/li ...

  9. 【转帖】2018年Windows漏洞年度盘点

    2018年Windows漏洞年度盘点丨老漏洞经久不衰,新0day层出不穷 腾讯电脑管家2019-02-12共17875人围观 ,发现 1 个不明物体网络安全资讯 https://www.freebuf ...

随机推荐

  1. DOM对象和js对象以及jQuery对象的区别

    DOM对象和js对象以及jQuery对象的区别 DOM对象和js对象以及jQuery对象的区别 一.DOM对象 文档对象模型简称DOM,是W3C组织推荐的处理可扩展置标语言的标准编程接口. DOM实际 ...

  2. sql注入【手工及一些工具】

    Sql注入原理分析: 网站程序存在可控传递参数,参数未进行过滤直接带入数据库查询,导致攻击者可通过传递恶意sql语句代码进行执行攻击. Sql注入产生条件 1.必须有参数传递 2.参数值带入数据库查询 ...

  3. Thymeleaf 随记

    一.基础写法: th:text='${数据}  ,其中text可以修改成其他,如href,value,class....看需求 <p th:text='${后台返回的数据}'>静态文本&l ...

  4. AD的命名规则 AD常用产品型号命名规则

    AD的命名规则 AD常用产品型号命名规则 DSP信号处理器    放大器工业用器件通信    电源管理    移动通信 视频/图像处理器等 模拟A/D    D/A 转换器 传感器    模拟器件 A ...

  5. 257. Binary Tree Paths (dfs recurive & stack)

    Given a binary tree, return all root-to-leaf paths. Note: A leaf is a node with no children. Example ...

  6. SQL:数据库批量插入数据

    测试中有些功能要求有足够的数据进行测试,当输入字段较多时通过页面添加很慢.业务只关联单个数据库表可以通过数据库批量插入数据 批量插入数据示例: declare @i int--声明变量 --变量初始化 ...

  7. Raknet—视频会议系统最佳的数据传输引擎

    RakNet是一个跨平台的C++和C#的游戏引擎,它主要是为高效的数据传输而设计,使用者可以通过它进行游戏和其他的程序的开发.RakNet虽然是一个游戏引擎,但同样也是一个非常好的视频会议系统传输引擎 ...

  8. Uva 11078 简单dp

    题目链接:http://uva.onlinejudge.org/external/110/11078.pdf a[i] - a[j] 的最大值. 这个题目马毅问了我,O(n^2)超时,记忆化一下当前最 ...

  9. js获取对象所有的keys

    Js中获取对象的所有key值   假如现在有一个对象 var obj = { A:2 ,B:"Ray" ,C:true ,D:function(){} } 如果想遍历对象obj中的 ...

  10. mysql常用命令添加外键主键约束存储过程索引

    数据库连接 mysql -u root -p123456 查看表 show databases 创建数据库设置编码 create table books character set utf8; 创建用 ...