# 微信网关测试用例

## 测试防 BOT

1. 基于微信私有协议，抓包拿不到明文信息。防护后所有信息都是密文（域名、接口、数据）

    ![](https://res.wx.qq.com/op_res/mgyqjD8tke0DBdVNK_mRsfSXsqiH-SrItQDVtLsLx6ECXQuCjWiyGlDA4HeMYM2-Zpt4Drk2oyv9s0Znuwhm0Q)

2. 基于微信身份的加密密钥，自动更新且无法被伪造.同一个请求，每次加密后的数据都是不一样的。

3. 基于微信账号风控，支持给请求带上风险等级等标签信息（需要加白）

    | 风险等级          | 建议处置方案                                                 |
    | ------------- | ---------------------------------------------------- |
    | 风险等级 0     | 无风险，不做任何阻拦                                         |
    | 风险等级 1     | 低微可疑的风险，建议进行简单的验证（如验证码、短信等）       |
    | 风险等级 2     | 轻度可疑的风险，建议进行简单的验证（如验证码、短信等）       |
    | 风险等级 3     | 中度可疑的风险，建议根据业务场景采取一定措施避免伤害。例如，营销活动可降低高等级奖励的概率；打榜类活动对此类投票降低权重；登录注册要求二次验证等 |
    | 风险等级 4     | 高度可疑的风险，建议根据业务逻辑直接拦截。例如，红包类活动返回不中奖或最小额红包；打榜类活动不计算票数；登录/注册操作要求二次验证；高危业务可选择限制本次操作。 |

可以通过抓包验证以上能力

[](https://developers.weixin.qq.com/community/business/doc/000a8a46dac300b0b0f11a74a66c0d)

## 测试弱网优化
和微信使用同一套接入服务域名，请求可用率对齐微信客户端

* iOS 模拟丢包场景（请求/接受丢包率 50%），测试 100 次，请求超时设置 60s
    * wx.request 成功率 64%
    * callGateway 成功率可达到 90% 以上

可以在模拟的弱网环境下，交叉调用 wx.request 和 callGateway，统计两个方式的成功率

参考 [弱网环境模拟](weaknetwork) 验证以上模拟

[](https://developers.weixin.qq.com/community/business/doc/000eaa4d3948d8b0b1f118de06200d)

## 测试业务安全
* 配套 DDoS、CC 等攻击防护
* 基于微信私有链路的服务接入层，无惧 DNS 污染

可以模拟 DNS 污染，对比 wx.request 和 callGateway 的响应情况

1. 先给 iPhone 配置代理

2. 在 MacBook 上修改 host 文件，将需要污染的域名解析到一个错误的地址

``` bash
$ cat /etc/hosts
127.0.0.1	localhost
255.255.255.255	broadcasthost
::1             localhost

127.0.0.1 a265ea50e-wxc0dc4e681c123456.tj.wxcloudrun.com
```

[](https://developers.weixin.qq.com/community/business/doc/0000881a7e46d0d0b1f14377d6180d)
