一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天,点击查看活动详情。
一、同源策略以限制
同源策略限制从一个源加载的文档或脚本如何与来自另一个源的资源继续交互。这是一个用于隔离现在恶意文件的关键的安全机制。不同源的限制有如下几点:
- cookie、LocalStorage和IndexDB无法读取
- DOM无法获得
- Ajax请求不能发送
二、前后端通信方法
- Ajax:同源下的通信方式
- WebSocket:不受同源策略限制
- CORS:支持跨域通信,也支持同源通信
三、如何创建Ajax
- XMLHttpRequest对象的工作流程
- 兼容性处理
- 事件触发的条件
- 事件触发的顺序
四、跨域通信的几种方式
JSONP和CORS通信过程可以参考这篇文章:跨域及其解决方案
- JSONP
- Hash:页面不刷新
- postMessage:H5中新增的方式
- WebSocket
- CORS:支持跨域通信的Ajax
五、CSRF和XSS
关于这部分,这篇文章18Js面试题-性能优化和安全性里列举了CSRF和XSS实际应用的例子和预防手段
(一)CSRF
- CSRF通常称为跨站请求伪造,英文全称为Cross-site request forgery
- CSRF攻击原理如下:
- 防御措施:Token验证、Referer验证、隐藏令牌
- CSRF就是利用网站本身的漏洞,帮用户执行有漏洞的接口,这依赖用户要登录网站或登录过
(二)XSS
- XSS称为Cross-site scripting,跨域脚本攻击
- XSS就是利用用户合法的渠道在页面注入js代码
- 预防措施就是要让注入的js代码不可执行
六、算法类
(一)排序
学习网站:segmentfault.com/a/119000000… 、segmentfault.com/a/119000000… 、segmentfault.com/a/119000000…
(二)堆栈、列表、链表
学习网网站:juejin.cn/post/684490… 等