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. Oracle11g 卸载教程图解

    1:停掉所有Oracle相关的服务 1.1打开服务方式如下: 1.1.1:右击“计算机”–>管理–>服务和应用程序–>服务 1.1.2:开始–>输入“服务”后点击搜索–> ...

  2. C#对bat脚本文件的操作示例

    实现C#操作bat脚本文件 using System;using System.Collections.Generic;using System.ComponentModel;using System ...

  3. Windows下hosts文件的作用

    原文地址:https://my.oschina.net/u/874225/blog/194348 在操作系统中的路径:Win7在C:\Windows\System32\drivers\etc目录下 内 ...

  4. word中已删除设置是否显示

        我们打开别人发过来的文档时经常会出现如下图所示,其实这个不是文档的异常,只是word设置显示了修订版标记,如果我们需要去除这个,只需要在审阅-修订功能下面选择显示最终版即可(测试用的10版,其 ...

  5. win10下同时安装jdk1.7,1.8

    摘要:在开发不同项目时,可能会用到不同的jdk,需要我们在不同的jdk之间切换,怎么样在同一电脑上装不同的jdk,以此总结 1.正常安装jdk1.7,1.8     显示安装了jdk1.7,再安装jd ...

  6. 如何下载YouTube 8K视频

    随着科技的进步,人们对高清视频的要求越来越高,因此视频的分辨率也越来越高.从最开始的720P,到1080P,再到2K,进而到如今4K,不断地满足人们挑剔的胃口.4K分辨率的视频已经逐渐进入人们的生活中 ...

  7. CRUD全栈式编程架构之MVC的扩展设计

    MVC执行流程 路由的扩展 我理解的路由作用有以下几个 Seo优化,用“/”分开的url爬虫更爱吃 物理和逻辑文件分离,url不再按照文件路径映射 Controller,Action的选择 MVC路由 ...

  8. IOS 搜索条制作(UITextField 封装)

    封装到 HMSearchBar.h / .m #import <UIKit/UIKit.h> @interface HMSearchBar : UITextField + (instanc ...

  9. mysql5.6之前需要账号的安全加固

    mysql5.6之前需要账号的安全加固 从5.7开始就不需要了. delete from mysql.user where user!='root' or host='localhost'; flus ...

  10. nodejs使用MYSQL连接池,断线重连

    两种方式解决1.你可以配置mysql的连接池 var mysql = require('mysql'); var pool = mysql.createPool({ host: 'localhost' ...