首页 新闻 搜索 专区 学院

怎样防止API被恶意调用

0
悬赏园豆:5 [已解决问题] 解决于 2022-03-23 14:35

怎样防止某个IP恶意调用API导致api崩溃,有没有例子建议呢

C#
缘—的主页 缘— | 菜鸟二级 | 园豆:231
提问于:2022-03-22 15:00
< >
分享
最佳答案
0

限流, 然后 设置ip白名单,基本上就可以了

收获园豆:5
敲代码挣彩礼 | 小虾三级 |园豆:1469 | 2022-03-22 15:45

你的意思是弄个表专门存储允许访问的ip 然后判断IP如果没有就不让他调接口

缘— | 园豆:231 (菜鸟二级) | 2022-03-22 15:47

@缘—:
有个限流插件,然后这个插件有几种方式来限流
但是你不希望 某些api 来调用你接口,那你设置你想要调用接口的ip 地址为白名单就行了
这个限流插件有几种方式实现白名单
第一种是 , 写死在 appsetting.json
第二种就是 用radis缓存的 的方式来实现动态的设置ip白名单,表就没必要建了,你直接写缓存中就可以了吧

敲代码挣彩礼 | 园豆:1469 (小虾三级) | 2022-03-22 15:50

@敲代码挣彩礼: 我用的还是formwork 不是core
还有就是core web api 你是怎么接受Json字符串的!

缘— | 园豆:231 (菜鸟二级) | 2022-03-22 16:08

@敲代码挣彩礼: 我当时尝试了下 接受字段只能是

要不然用swgger测试的时候总是400

缘— | 园豆:231 (菜鸟二级) | 2022-03-22 16:10

@缘—: 传一个对应实体类就行了

敲代码挣彩礼 | 园豆:1469 (小虾三级) | 2022-03-22 18:36

@敲代码挣彩礼: 实体类定死了 前端怎么传值

缘— | 园豆:231 (菜鸟二级) | 2022-03-23 09:19

@缘—: 你用 swagger 测试啊,

 [HttpPost]
 public  string CodeInfo(BaseLikeCodePageRequest entity){
 
}

BaseLikeCodePageRequest   ==实体类

前端

{
  "page": 0,
  "limit": 0,
  "sort": "string",
  "order": "string",
  "likeCode": "string"
} 
敲代码挣彩礼 | 园豆:1469 (小虾三级) | 2022-03-23 09:33

@敲代码挣彩礼:

类似这样的类吗

缘— | 园豆:231 (菜鸟二级) | 2022-03-23 09:36

@缘—: 是

敲代码挣彩礼 | 园豆:1469 (小虾三级) | 2022-03-23 10:28
其他回答(3)
0

1.修改 API 认证方式
2.做访问限制,网关、防火墙、代码都行

〆灬丶 | 园豆:945 (小虾三级) | 2022-03-22 15:10

认证方式有 就是限制IP访问搞不定 有啥例子吗

支持(0) 反对(0) 缘— | 园豆:231 (菜鸟二级) | 2022-03-22 15:11

@缘—: 根据自己系统网上一搜就有,以 centos 为例
https://www.cnblogs.com/zmqcoding/p/14700374.html

支持(0) 反对(0) 〆灬丶 | 园豆:945 (小虾三级) | 2022-03-22 16:14
0
智客工坊 | 园豆:1269 (小虾三级) | 2022-03-22 16:03

有点深奥哦

支持(0) 反对(0) 缘— | 园豆:231 (菜鸟二级) | 2022-03-22 16:16
0

设置访问权限

左边的菜鸟 | 园豆:206 (菜鸟二级) | 2022-03-22 17:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册