3

API接口如何防止被恶意调用?

 1 year ago
source link: https://www.daguanren.cc/post/api_defence.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
06月28, 2018

API接口如何防止被恶意调用?

此篇文章可以作为小程序API接口攻击防护这篇的补充。

通常情况下的api接口防护有如下几种:

  • 使用HTTPS防止抓包,使用https至少会给破解者在抓包的时候提高一些难度
  • 接口参数的加解密,通过md5加密数据+时间戳+随机字符串(salt),然后将MD5加密的数据和时间戳、原数据均传到后台,后台规定一个有效时长,如果在该时长内,且解密后的数据与原数据一致,则认为是正常请求;也可以采用aes/des之类的加密算法,还可以加入客户端的本地信息作为判断依据
  • 本地加密混淆,以上提到的加解密数据和算法,不要直接放在本地代码,因为很容易被反编译和破解,建议放到独立模块中去,并且函数名称越混淆越难读越安全。
  • User-Agent 和 Referer 限制
  • api防护的登录验证,包括设备验证和用户验证,可以通过检查session等方式来判断用户是否登录
  • api的访问次数限制,限制其每分钟的api调用次数,可以通过session或者ip来做限制
  • 定期监测,检查日志,侦查异常的接口访问

在开发web端程序时,如果你的服务是放在外网的,你是无法完全阻止别人模拟客户端来调用你的web api的。因为你的所有前端代码用户都能直接或间接的看到。

而在开发小程序项目时,前端的小程序代码是上传到微信服务器的,其他人想要直接看到或拿到源代码的难度较大,因此小程序端相对安全些。

本文链接:https://www.daguanren.cc/post/api_defence.html

-- EOF --

作者 daguanren

发表于 2018-06-28 21:07:26

,添加在分类 技术分享 Node.js

,并被添加「 小程序 用户信息 接口防护 」标签

,最后修改于 2018-06-28 22:19:34

版权归本网站的作者所有,转载请注明出处,谢谢大家。 问题咨询和商务合作请发送邮件至[email protected]


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK