# 伪造基本功-浏览器和JS的关系

浏览器功能， dom，刷新，执行js脚本，不同浏览器会是先自己相应的属性

## dom（渲染引擎）

1. html 增删改查api
2. html 数据格式
3. 渲染 canvas
 
## BOM

1. 浏览器自己实现的类 location navigator
2. open ssl btoa AES DES MD5

## js引擎

1. 谷歌v8 微软查克拉 ffg quickjs
2. JS解释新语言，但是官方没有提供解释器，所以有各大浏览器提供解释器，然后支持的语法是参考es5, es6
3. es5, es6 运行js的一些规定实现标准

## DOM 和 BOM  都是js对象

1. 所有js引擎都有一个功能，这个功能是，可以给js添加任意对象，删除任意对象，那么直接在js里面声明对象
2. 浏览器去实现的对象会添加一个特性，只读属性
3. 简单的网站扣代码
4. 复杂的网站伪造环境

## 如何伪造

1. 全部伪造 python  jsdom(被检测) nodejs(被检测)
2. 给指定的网站伪造：通过调试，异常捕获，本地环境运行看报错
