收藏
回答

希望能细化安全规则粒度

框架类型 问题类型 终端类型 AppID 环境ID 基础库版本
小程序 Bug 微信iOS客户端 wx2e552ea5379d781f itms-v1-7gv75ia5ffe8dca2 2.9.3

云开发文档-安全规则中,支持的安全类型通用地为:read和write,但write可细分为create、update、delete。

但全局变量仅支持doc、auth和now;我的理解是:doc为查询的条件,对于一些简单的查询或写入是有效且方便的,但对于依赖规则来限制一些写入的行为,则有些不足。

如有一记录含有字段dateStr,合法地创建时为2021-09-16,但非法地通过.where({

        dateStr: "2021-09-16",

        _openid: "{openid}"

    })

    .update({

        data: {

            dateStr: "2021-09-15"

        }

    })

进行篡改的话,当前的安全规则无法限制。

我的设想为:规则表达式增加data(add和update操作的data字段),编写表达式:

update: doc.dateStr == data.dateStr 则可对非法篡改进行限制

最后,还希望安全规则能支持更多内容,如:

1.不能为空的判断支持,如!doc.dateStr,能限制必须传入参数进行查询或写入

2.正则表达式的支持,如/^\d{4}-\d{2}-\d{2}$/.test(dateStr),能限制查询、写入的数据格式

最后一次编辑于  2021-09-16
回答关注问题邀请回答
收藏
登录 后发表内容