mirror of
https://github.com/NohamR/knowledge-kit.git
synced 2026-05-25 12:27:15 +00:00
docs: 大前端数据安全方案价值思考
This commit is contained in:
@@ -505,7 +505,7 @@
|
||||
|
||||
|
||||
|
||||
#### 关键步骤
|
||||
关键步骤
|
||||
|
||||
1. 先根据你们的产品找到常用的关键词,生成**词云**
|
||||
2. 根据词云,将每个字生成对应的 unicode 码
|
||||
@@ -574,7 +574,7 @@ h3,a{
|
||||
|
||||
|
||||
|
||||
## [Demo 地址](https://github.com/FantasticLBP/Anti-WebSpider)
|
||||
[Demo 地址](https://github.com/FantasticLBP/Anti-WebSpider)
|
||||
|
||||

|
||||
|
||||
@@ -600,8 +600,23 @@ $ node app.js
|
||||
|
||||
|
||||
|
||||
## 五、价值和思考
|
||||
|
||||
### 五、 App 端安全的解决方案
|
||||
其实经常有很多来自不同端的开发者和我聊安全问题。交流下来发现有些人可以明白设计的有点,有些人还是没有明白。这里我总结下:
|
||||
|
||||
- 爬虫与反爬技术,没有终点。都是需要在衡量 ROI 的情况下, 找到符合业务、技术现状的“最佳”解决方案
|
||||
- 每次刷新,页面显示的数据固定,但是网络接口数据、审查元素看到的数据,都是不断变化的。且汉字字符、数字字符都不一样
|
||||
- OCR 可以爬取数据,但是成本较高。同样可以利用其他策略,比如同一个浏览器 canvas 指纹的情况下,短时间多次请求某些数据,则认为是非法行为,可以延迟返回数据、返回错误数据、账号封锁等策略
|
||||
|
||||
爬虫工程师要么从接口爬取数据、要么观察分析页面结构找到目标数据的 xPath 获取 DOM 节点对应的数据。从这2个角度出发,当前的设计方案解决了该问题
|
||||
|
||||
可能有些人就会问:**爬虫工程师一般会不需要关心技术如何实现,直接用无头浏览器“原封不动”的去请求,直接拿到数据不就好了**
|
||||
|
||||
其实你仔细想想,无头浏览器是可以去请求,但是本质上就是对数据的只读而已。因为该方案的设计就是基于:**字体文件映射 + 数据线性加密**。**无头浏览器拿到的数据其实和审查元素看到的 DOM 节点内的数据是一个效果的。所以是无效数据。**
|
||||
|
||||
|
||||
|
||||
## 六、 App 端安全的解决方案
|
||||
|
||||
目前 App 的网络通信基本都是用 HTTPS 的服务,但是随便一个抓包工具都是可以看到 HTTPS 接口的详细数据,为了做到防止抓包和无法模拟接口的情况,我们采取以下措施:
|
||||
|
||||
@@ -670,17 +685,19 @@ $ node app.js
|
||||
|
||||
但是私钥在本地如何存放呢?想到的办法就是将关键密钥的字符串提高到较高的安全级别,比如这个文件用加密保存。接下来推荐一个[工具](https://github.com/RNCryptor/RNCryptor),可以将代码文件进行加密保存和解密访问。
|
||||
|
||||
还有:数据加密、压缩 + 自定义报文
|
||||
|
||||
|
||||
|
||||
## 六、 数据安全(反爬虫)之「防重放」策略
|
||||
|
||||
## 七、 数据安全(反爬虫)之「防重放」策略
|
||||
|
||||
虽然话题都是大前端时代的安全性,但是防重放策略篇幅较长,开了新的[章节](https://github.com/FantasticLBP/knowledge-kit/blob/master/Chapter3%20-%20Server/3.8.md)。感兴趣的同学请移步查看。
|
||||
|
||||
|
||||
|
||||
|
||||
## 七、Canvas 反爬虫技术方案
|
||||
## 八、Canvas 反爬虫技术方案
|
||||
|
||||
> 后期打到白热化的时候,用的技术越来越匪夷所思。举个例子,很多人会提,做反爬虫会用到canvas指纹,并认为是最高境界。其实这个东西对于反爬虫来说也只是个辅助,canvas指纹的含义是,因为不同硬件对canvas支持不同,因此你只要画一个很复杂的canvas,那么得出的image,总是存在像素级别的误差。考虑到爬虫代码都是统一的,就算起selenium,也是ghost的,因此指纹一般都是一致的,因此绕过几率非常低。<br><br>但是!这个东西天生有两个缺陷。第一是,无法验证合法性。当然了,你可以用非对称加密来保证合法,但是这个并不靠谱。其次,canvas的冲突概率非常高,远远不是作者宣称的那样,冲突率极低。也许在国外冲突是比较低,因为国外的语言比较多。但是国内公司通常是IT统一装机,无论是软件还是硬件都惊人的一致。我们测试canvas指纹的时候,在携程内部随便找了20多台机器,得出的指纹都完全一样,一丁点差别都没有。因此,有些“高级技巧”其实一点都不实用。<br><br>浏览器指纹技术常用于客户端跟踪及反机器人的场景。核心思路是, 不同浏览器、操作系统、以及操作系统环境,会使得canvas的同一绘图操作流程产生不同的结果。如果是相同的运行环境,同一套Canvas操作流程会产生相同的结果。 浏览器指纹的优势是不需要浏览器保持本地状态,即可跟踪浏览器。 由于国内特色的Ghost系统安装,这种方式的误杀率并不低。
|
||||
|
||||
|
||||
@@ -239,3 +239,4 @@ class Welcome extends React.Component {
|
||||
- Vue 设计思想:How easy it can be。React:How corrct it can be 和 all in js(css写法也在用 js 控制,比如 styled-component)
|
||||
|
||||
|
||||
在 React、React Native、Vue、Weex、Flutter 等声明式开发思想的框架下,UI = F(state)。一个状态唯一对应一个 UI(但一个 UI 不一定对应一个 state),关心 state 即可
|
||||
@@ -7,5 +7,17 @@
|
||||
4. 基于微服务,肯定需要一个 BFF 层,扮演业务编排、字段转换。比如订单域的模型有100个字段。但是订单的接口为客户端服务,客户端(通过接口找2018~2020年的、待付款的订单),BFF 层就去扮演数据组装、字段筛选的作用。
|
||||
|
||||
|
||||
## 聚焦核心域
|
||||
|
||||
Domain 按照业务能力划分,围绕着一个独立清晰的业务目标,有内聚的核心概念
|
||||
|
||||
1. 核心域:
|
||||
- 决定产品和公司核心竞争力的子域
|
||||
- 它是业务成功的主要因素和公司的黑心竞争力
|
||||
- 需要投入优秀的资源和精力,建立好核心竞争力
|
||||
|
||||
2. 支撑域:不包含决定产品和公司核心竞争力的功能,需要定制开发,帮助核心域达成目标
|
||||
3. 通用域:通常市场上已有成熟的解决方案,通用子域的解决方案可以来购买现成的,也可以采用外包的方式。
|
||||
|
||||
- https://tech.meituan.com/2017/12/22/ddd-in-practice.html
|
||||
- https://juejin.cn/post/6997250621627858957#heading-3
|
||||
@@ -8,8 +8,11 @@
|
||||
|
||||
2. 消炎
|
||||
调节消化系统三天没有大的作用可以考虑为猫咪消除肠道炎症。
|
||||
这里有一个消炎药选择的问题:在肠道感染中99%都是由杆菌引起的,对付杆菌最好的选择是硫磺庆大霉素、卡那霉素等药。其中由于庆大霉素的分子量比较大,口服不会被内脏吸收,是猫咪处理肠道炎症的首选药物。
|
||||
这里有一个消炎药选择的问题:在肠道感染中99e%都是由杆菌引起的,对付杆菌最好的选择是硫磺庆大霉素、卡那霉素等药。其中由于庆大霉素的分子量比较大,口服不会被内脏吸收,是猫咪处理肠道炎症的首选药物。
|
||||
需要注意的是,在服用消炎类药物半个小时后,需要给猫咪喂些活菌类的助消化药,如乳酶生、妈咪爱等,帮助猫咪恢复消化能力。
|
||||
|
||||
3. 饮食
|
||||
肠炎严重的话,建议每日以吃流食为主,少食多餐,如果拉稀呕吐比较频繁(尤其是拉肠粘膜时)应禁食禁水12个小时左右。
|
||||
|
||||
4. 猫藓
|
||||
小奶猫20天左右可以打大宠爱在猫咪的耳朵边上。1g左右
|
||||
Reference in New Issue
Block a user