一套直接能落地、电商 / 技术团队都在用 的 1688 API 安全方案,从密钥、签名、权限、服务器、代码、风控六个维度讲清楚,你照着做就能把风险降到最低。
一、最核心:AppKey & AppSecret 安全(90% 漏洞都在这)
1. 绝对不能做的事
- 不要写死在前端代码(HTML/JS/ 小程序 / APP 客户端)
- 不要上传到 GitHub/Gitee
- 不要发在聊天、文档、配置文件里明文传播
2. 必须这样存
- 放在后端服务器环境变量
- 或加密配置文件(如
.env、application.yml加密) - 生产环境禁止打印日志输出 AppSecret
- demo url=http://o0b.cn/ibrad
二、强制使用签名机制(1688 官方要求,也是安全防线)
1688 API 本身自带 MD5 签名,你只要严格遵守:
- 所有参数按字典序排序
- 签名串:
AppSecret + 参数串 + AppSecret - 时间戳 timestamp 有效时间很短(一般几分钟内)
作用:
- 防止参数被篡改
- 防止重放攻击
- 防止别人盗用你的请求链接
三、权限最小化(别给应用开多余权限)
- 应用类型选 自用型,不要选开放型
- 只申请你真正用到的接口
- 商品查数据 → 只开商品相关 API
- 不要订单、物流、店铺权限全开
- 及时清理:
- 不用的应用 删除 / 停用
- 离职人员立即取消授权
四、服务器 & 网络安全(防止被抓包、盗用)
1. 必须用 HTTPS
1688 网关都是 HTTPS,你自己的服务也必须走 HTTPS,避免中间人劫持。
2. 限制来源 IP
如果你的服务器 IP 固定:
- 在 1688 开放平台 / 防火墙 白名单你的出口 IP
- 只允许你的服务器调用 API
3. 不要在客户端直接调用
任何前端、小程序、APP 都不能直接请求 1688 API
必须走:
客户端 → 你的后端 → 1688 API
五、接口调用安全:防重放、防刷
- 时间戳 timestamp 必须每次都新
- 增加 唯一请求 ID(nonce),同一请求不允许重复
- 控制调用频率:
- 单 IP 限流
- 单用户限流
- 防止恶意刷接口导致额度耗尽
六、日志 & 审计(出问题能快速定位)
记录但不敏感信息:
- 请求接口名
- 请求时间
- 请求 IP
- 是否成功
- 错误码
绝对不要记录:
- AppSecret
- sign 签名
- access_token
七、授权安全(access_token)
如果你用到需要用户授权的 API(如商品、订单):
- token 存在服务器,不传给前端
- 设置合理过期时间
- 刷新 token 机制要安全
- 一旦泄露立即 revoke 作废
八、最简单的安全总结(你直接照着执行)
- 密钥绝不放前端、绝不明文泄露
- 所有请求必须签名 + 时间戳
- 只从后端服务器调用,不走客户端
- 权限最小化,不用的权限关掉
- HTTPS + IP 白名单 + 限流
- 日志不打敏感信息
做到这 6 条,你的 1688 API 基本不会被盗用、不会被刷、不会被拖库。
如果你需要,我可以直接给你:
- 安全调用 1688 API 的后端代码模板(Python/Java/PHP 任选)
- 一套可直接上线的 .env 安全配置方案