天行数据接口防盗刷设置

栏目分类:帮助中心 发布时间:2019-12-31 阅读次数:765
通过纯前端的方式调用接口,无论怎么混淆加密代码,都将不可避免的会暴露接口密钥apikey,导致你的接口被第三方盗用。本功能是通过限制Referer来源的方式在一定程度上拦截第三方请求。Referer解释:
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。

 这里以微信小程序为例:
在天行数据控制台 - 接口管理 - 接口请求日志 - INFO一栏中可以看到请求接口的Referer来源信息
天行数据接口防盗刷设置
 
通过微信小程序发起网络请求时,默认都会带上固定的Referer信息(如:https://servicewechat.com/{appid}/{version}/page-frame.html)
 
其中{appid}是你的微信小程序ID、{version} 是小程序的版本号,为 0 表示为开发版、体验版以及审核版本,为 devtools 表示为开发者工具,其余为正式版本。
 
在控制台 - 接口管理 - 防盗用设置中填入微信小程序的Referer:

天行数据接口防盗刷设置
 
即可一定程度上拦截除了自己的微信小程外,其他第三方的恶意请求(返回170错误)。如上图所示,只允许在输入框中的三个来源URL下访问,如果只输入https://www.tianapi.com/demo/robot/,则表示接口只能在https://www.tianapi.com/demo/robot/网页下才能被正常调用。你还可以使用通配符模式,例如https://www.tianapi.com/*,表示在https://www.tianapi.com/域名下任何网页皆可访问。同理,如只需要微信小程序调用接口,则可以设置https://servicewechat.com/*,只需要自己的某个小程序调用接口,则可以设置https://servicewechat.com/{appid}*
 
需要注意的是:
一旦你设置了Referer白名单限制,后端调用时,会因为没有携带Referer信息同样会返回170错误,此时,你要么删除Referer白名单限制,要么在你的后端语言中,带上Referer信息。
 
另外,即使设置了Referer白名单限制,如果被第三方猜出了你的Referer白名单所包含的来源链接,对方也可以通过后台代理的方式绕过Referer限制,因此,你需要尽可能的隐藏好你的Referer白名单信息和接口密钥apikey。

其他推荐OTHER API 更多>

开通会员专享福利
留言反馈