4399内外部屏蔽词系统
author:4399运维
date:2020-09-28 14:59
展示PPT
目 录
## 接口api以及参数说明 Request URL:`https://wo.webgame138.com/test/matchService.do` https://wo.webgame138.com 接口支持自定义屏蔽词,即屏蔽词仅对指定业务生效,需要添加自定义屏蔽词的业务联系客服王少飞; 支持GET,POST | 参数 | 说明 | |--|--| | `toCheck` | 小可爱 | | `app` | 每个游戏接入独有的渠道 | | `byPinyin` | 设置为 `true` OR `false` 配置是否打开拼音匹配 | |`sig`| 加密签名| 每个接入,运营需要提供secret,app 其中app 如pkt,ssjj等游戏渠道唯一表示。每个app,需要分配secret,用于加密 上述参数sig算法secret + toCheck的md5,如下述线上接口举例子说明。 ## 使用示例 Request URL:`https://wo.webgame138.com/test/matchService.do` 如需要检测toCheck=相同词 secret=3f2b2d8ff893a39a3ffffffffffffff sig等于如下算法 ```bash # echo -n "3f2b2d8ff893a39a3ffffffffffffff相同词" | md5sum # 8248220fffb222691bffffffffff - ``` ```bash # curl https://wo.webgame138.com/test/matchService.do\?toCheck\=相同词\&byPinyin\=true\&app\=ssjj\&sig\=8248220fffb222691bffffffff # toCheck 需要 urlencode,可以避免特殊字符无法判断 # curl https://wo.webgame138.com/test/matchService.do\?toCheck\=%E7%9B%B8%E5%90%8C%E8%AF%8D\&byPinyin\=true\&app\=ssjj\&sig\=8248220fffb222691bffffffff ``` 返回结果 ```jsonp {"0:2":{"app":"[pkt, ssjj]","level":5,"startPos":0,"endPos":2,"maskWord":"相同词"}} ``` 如toCheck=屏zedone和北京屏蔽同志 ```jsonp {"10:11":{"app":"[]", "level":1, "startPos":10, "endPos":11, "maskWord":"屏蔽" }, "12:13":{"app":"[]", "level":2, "startPos":12, "endPos":13, "maskWord":"同志" }, "0:6":{"app":"[]", "level":1, "startPos":0, "endPos":6, "maskWord":"pingzedone" }, "1:6":{"app":"[]", "level":1, "startPos":1, "endPos":6, "maskWord":"zedone" } } ``` 返回结果: 每个key表示屏蔽的位置 每个value具体说明是匹配到哪个屏蔽词,并且会标注每个匹配屏蔽词字符串的起始位置和结束位置,既下标以0开始 如果没有匹配到屏蔽词返回 ``` {} ``` **批量提交:** 在上面的参数基础上添加一个参数 isBatch=true toCheck改成json格式 下面是示例 tocheck={"1":"laozedone", "2":"第二个屏蔽词"} ```bash # echo -ne '03d93e96e0bb3d283e813abc37577eb6{"1":"laozedone", "2":"第二个屏蔽词"}' |md5sum 37b90bc7d54260b5af6d6acb7a647c13 # wget https://wo.webgame138.com/test/matchService.do\?app\=ssjj\&toCheck\=\{%221%22:%22laozedone%22,%20%222%22:%22%E7%AC%AC%E4%BA%8C%E4%B8%AA%E5%B1%8F%E8%94%BD%E8%AF%8D%22\}\&sig\=03d93e96e0bb3d283e813abc37577eb6\&byPinyin\=true\&isBatch\=true -O - -q |python -m json.tool { "1": { "0:8": { "app": "[]", "endPos": 8, "level": 1, "maskWord": "laozedone", "startPos": 0 }, "3:8": { "app": "[]", "endPos": 8, "level": 1, "maskWord": "zedone", "startPos": 3 } }, "2": {} } ```