uni-app云函数未开启url仅小程序内使用却仍被刷怎么办?如何查到具体IP并在代码中拦截以减少每日费用?有何方法防止被刷?

uni-app云函数未开启url仅小程序内使用却仍被刷怎么办?如何查到具体IP并在代码中拦截以减少每日费用?有何方法防止被刷?

云函数未开启url只在小程序内用 怎么还能被刷呢?查到了具体了ip在代码里拦截,每天也很多费用,有什么办法防止被刷?

image

image


更多关于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


私发下空间id和"被刷”的云函数的名称

怎么样了,解决了吗?

说阿里云解决不了 这么大公司 防刷都没做

回复 yinshi: 哎

在 uni-app 云函数中,如果未开启 URL 访问权限,理论上只能在 uni-app 小程序内调用。但如果云函数被恶意刷量,可能是由于某些配置不当或代码漏洞导致的。以下是排查和解决问题的步骤:


1. 排查问题原因

  • 检查云函数调用权限:确认云函数是否设置了正确的调用权限,确保只能通过小程序调用。
  • 检查 AppID 和 Secret:确保云函数的调用是通过合法的 AppID 和 Secret 进行的,避免泄露。
  • 检查请求来源:在云函数中打印请求的 context,检查调用方的 sourcecaller,确认是否来自合法的小程序。
  • 检查日志:通过云开发控制台的日志功能,查看调用云函数的详细记录,分析是否有异常调用。

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',
      };
    }
回到顶部