ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
有效防止接口被异常调用!不怕被抓包! 一旦功能开启所有用户接口,用户管理接口都需要传”sign“参数!支持`POST`和`GET`!那我们在客户端怎么构建sign这个值呢! 这期就说一下教程! 当然有人会问这个和token的区别在哪里?这个sign就是可以在后台自定义值,可以有效防止大部分用户同化算法,降低破解的可能性。sign这个值是不可逆的!只能通过查字典的方式破解,但是谁会有这个闲心呢! 首先需要在后台开启该功能,已经在生产环境下的就不要轻易去开启了,直接到达设置[地址](https://www.guaqb.cn/user/data_set.php) 图如下![](https://img.kancloud.cn/58/86/58864f6b9166290d0ef50c7bb76a2231_1920x935.png) 先开启用户接口加密,然后填写自定义加密值,这个值只能是正整数且小于10位,并不是自定义值越多越好,我这里建议不要填写类似123456 1111111 888888 还是填写一些复杂的数字!那么sign是如何算出来的呢? ``` sign= md5(key+自定义加密值).substr(23, 8) + time; substr(23, 8) :这个是从23位开始取8位数值 time:10位时间戳,中国上海时间 key:游动网络提供的key 自定义加密值:后台设置的数值 ``` ``` //php代码示例 $sign=substr(md5($key.自定义加密值),23,8).time; ``` ``` //js代码示例 //jsmd5函数需要在网上下载 var sign = md5(key+ 自定义加密值).substr(23, 8) + time; ``` 而这个sign这个值的有效期只有10s 以上代码未经测试,请注意自行甄别!