uni-app云函数未开启url仅小程序内使用却仍被刷怎么办?如何查到具体IP并在代码中拦截以减少每日费用?有何方法防止被刷?
uni-app云函数未开启url仅小程序内使用却仍被刷怎么办?如何查到具体IP并在代码中拦截以减少每日费用?有何方法防止被刷?
云函数未开启url只在小程序内用 怎么还能被刷呢?查到了具体了ip在代码里拦截,每天也很多费用,有什么办法防止被刷?
更多关于uni-app云函数未开启url仅小程序内使用却仍被刷怎么办?如何查到具体IP并在代码中拦截以减少每日费用?有何方法防止被刷?的实战教程也可以访问 https://www.itying.com/category-93-b0.html
6 回复
支付宝云可在网关维度提供IP防刷功能,这是最佳解决方案。
阿里云、腾讯云未对外暴漏网关功能,自己可以基于redis做防刷设计,但会消耗一定的云函数资源。
详见:https://doc.dcloud.net.cn/uniCloud/ip-filter.html#基于redis-阿里-腾讯云
更多关于uni-app云函数未开启url仅小程序内使用却仍被刷怎么办?如何查到具体IP并在代码中拦截以减少每日费用?有何方法防止被刷?的实战教程也可以访问 https://www.itying.com/category-93-b0.html
怎么样了,解决了吗?
说阿里云解决不了 这么大公司 防刷都没做
回复 yinshi: 哎
在 uni-app 云函数中,如果未开启 URL 访问权限,理论上只能在 uni-app 小程序内调用。但如果云函数被恶意刷量,可能是由于某些配置不当或代码漏洞导致的。以下是排查和解决问题的步骤:
1. 排查问题原因
- 检查云函数调用权限:确认云函数是否设置了正确的调用权限,确保只能通过小程序调用。
- 检查 AppID 和 Secret:确保云函数的调用是通过合法的 AppID 和 Secret 进行的,避免泄露。
- 检查请求来源:在云函数中打印请求的
context
,检查调用方的source
和caller
,确认是否来自合法的小程序。 - 检查日志:通过云开发控制台的日志功能,查看调用云函数的详细记录,分析是否有异常调用。
2. 拦截恶意 IP
- 获取调用者 IP:在云函数中,可以通过
context.CLIENTIP
获取调用者的 IP 地址。 - IP 黑名单:在云函数中维护一个 IP 黑名单,拦截恶意 IP 的请求。
示例代码:
const blacklist = ['1.2.3.4', '5.6.7.8']; // 黑名单 IP const clientIP = context.CLIENTIP; if (blacklist.includes(clientIP)) { return { code: 403, message: 'Access denied', }; }