更新记录

1.0.1(2021-04-20)

  • 修复 使用黑白名单报错的Bug

1.0.0(2021-04-02)

  • 初始化项目

平台兼容性

阿里云 腾讯云 支付宝云
×

云函数类插件通用教程

使用云函数类插件的前提是:使用HBuilderX 2.9+


uniCloud官方已提供IP防刷功能,使用redis过滤高频请求,功能更强。参考:IP防刷

ip-filter

拦截黑名单ip、限制单ip访问频率

此模块是uni-cloud-router的中间件,如果不清楚如何使用请参考示例项目内的hello-uni-cloud-router云函数内的config.js文件

此模块依赖cloud-cache模块,插件市场导入本插件会自动导入cloud-cache

用法

// hello-uni-cloud-router的config.js
const ipFilter = require('ip-filter')
module.exports = {
  debug: true, // 调试模式时,将返回 stack 错误堆栈
  baseDir: __dirname, // 必选,应用根目录
  middleware: [
    [
      ipFilter({
        whiteList: [], // ip白名单数组,支持正则
        blackList: [], // ip黑名单数组,支持正则
        frequencyLimit: 2, // 每秒最多能请求次数
        frequencyLimitBucket: 10 // 桶大小,以此配置为例,代表单个IP每10(frequencyLimitBucket)秒可以访问2 * 10(frequencyLimit*frequencyLimitBucket)次
      }),
      {
        name: 'ipFilter',
        enable: true,
        ignore: ''
      },
    ]
  ], // 自定义中间件
}

额外注意事项

  • HBuilderX 3.1.7及以下版本批量上传云函数时有Bug,需要额外上传一次ip-filter才能正确建立ip-filter和cloud-cache之间的依赖关系

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问