简介

一、同源策略

同源策略:url协议、域名、端口相同,就是同源。默认两个不同的源之间不能操作dom和访问资源

1.dom层面,不能互相访问,postmessage跨文档消息机制

2.数据层面,cookie,localstorage不能互相读取,

3.网络层面,不能跨域请求,跨域资源共享策略

二、安全问题

1. xss攻击,恶意脚本攻击
类型

1.存储型,在提交表单时把脚本提交,服务端保存在数据库,当返回给前端再使用时就会执行脚本

2.反射型,提交表单,服务端不保存,处理后即返回。提交脚本也就会返回脚本

3.页面劫持,本地抓包等方式,不经过服务端直接控制页面

方案

1.服务端对脚本过滤

2.csp策略:资源黑白名单,禁止加载哪些脚本,禁止向第三方域提交数据

3.设置cookie时加上httponly,则cookie无法通过脚本document.cookie读取

2. csrf攻击,跨站请求伪造
类型

1.img标签的src是一个请求,而不是图片资源。

2.点一个链接,自动发起请求

解决

1.设置cookie的samesite属性值是strict,在第三方域下请求本域时就不会带上有这个属性值的cookie,可以防止第三方域提交

2.服务器通过referer、origin判断请求来源

3.csrf token,通过前后端约定的特殊token,不存放在cookie中来判断是否安全

三、其他(未深入)

1.浏览器多进程结构,把渲染进程放到安全沙箱

2.https在tcp连接前引入安全层(让黑客在你电脑上安装了根证书,https也会变得不安全了!)