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. ansible使用5-Variables

    变量命名 支持数字.字母.下划线 有效:foo_port, foo5 无效:foo-port, foo port, foo.port, 12 playbook定义 - hosts: webserver ...

  2. ubuntu16.4安装 VirtualBox

    1) 从oracle官网下载virtual box安装包 2) 安装支持包 sudo apt-get install libqt5x11extras5 libsdl1.2debian 3) sudo ...

  3. git github添加远程仓库出错 remote origin already exists

    在github上建立了仓库后,执行 git remote add origin https://github.com/zhangsan/sample.git时,提示 remote origin alr ...

  4. 【PHP 基础类库】Prototype 原型版教学文章!

    前言 大家好我是:石不易,今天我为大家带来了PHP基础类库原型版的教学文章,至此本人的作品线已分为三大类,分别是:JavaScript前端框架(封装库).PHP模板引擎.以及PHP基础类库.该类库历时 ...

  5. POJ-1195 Mobile phones---裸的二维树状数组(注意下标从1,1开始)

    题目链接: https://vjudge.net/problem/POJ-1195 题目大意: 直接维护二维树状数组 注意横纵坐标全部需要加1,因为树状数组从(1,1)开始 #include<c ...

  6. C++STL之set集合容器

    set集合容器 set集合容器实现了红黑树(Red-Black Tree)的平衡二叉检索树的数据结构, 在 插入元素时, 它会自动调整二叉树的排列, 把该元素放到适当的位置, 以确保每个子树根节点的键 ...

  7. jeDate日期控件

    http://www.jayui.com/jedate/     这是日期控件官网,可以去里面下载使用 前台 <%@ Page Language="C#" AutoEvent ...

  8. 牛客小白月赛2 G 文 【模拟】

    链接:https://www.nowcoder.com/acm/contest/86/G来源:牛客网 题目描述 Sεlιнα(Selina) 开始了新一轮的男友海选.她要求她的男友要德智体美劳样样都全 ...

  9. LeetCode969. 煎饼排序

    问题:969. 煎饼排序 给定数组 A,我们可以对其进行煎饼翻转:我们选择一些正整数 k <= A.length,然后反转 A 的前 k 个元素的顺序.我们要执行零次或多次煎饼翻转(按顺序一次接 ...

  10. VM12虚拟机安装os x 10.11系统以及注意事项

    一.安装步骤 原文链接:https://blog.csdn.net/soachenshui/article/details/49251513 https://blog.csdn.net/soachen ...