为测验应用程序选择啥云函数或数据库

Posted

技术标签:

【中文标题】为测验应用程序选择啥云函数或数据库【英文标题】:What to choose cloud Functions or Database for a Quiz app为测验应用程序选择什么云函数或数据库 【发布时间】:2021-05-30 02:01:48 【问题描述】:

我有一个测验应用程序,它使用一个名为 Question 的 Firestore 文档,看起来像

现在,每当加载测验时,都会从 Firestore 加载此数据,会显示问题并根据“答案”字段检查答案。现在任何顽皮的程序员都可以更改客户端代码以查看所有问题的答案并可能赢得比赛(比赛获胜者有报酬)。防止这种情况的一种方法是删除答案字段并创建新的答案文档并使用云功能检查正确答案。这可能会增加计费,因为每个用户可能会调用数千个函数调用。

有什么方法可以解决这个问题,如果没有,哪种方法更好

    使用云功能检查答案 创建单独的答案集合

【问题讨论】:

为什么现在使用Cloud Firestore Security Rules 保护您的数据库? 【参考方案1】:

数据只有在用户无法访问时才是安全的,您可以尝试使用以下任一方法来保护它:

代表问题和答案的不同文档; 将所有内容保存在同一个集合中,并使用 Firebase 规则控制访问,如 community answer 中所示; 使用两个不同的 Cloud Functions 获取相同的文档作为问题和答案,然后根据您所处的执行阶段转换为不同的 json 响应;

所有这些选项都会增加您的成本,因为数据将被多次读取,并且涉及云功能成本,不幸的是它就是这样。

我建议您尝试使用第一种或第二种方法,因为它们都是您想要实现的安全的选择,并且成本低于第三种选择。

【讨论】:

以上是关于为测验应用程序选择啥云函数或数据库的主要内容,如果未能解决你的问题,请参考以下文章

测验应用程序从 8 组问题中随机选择问题?

测验5: 函数和代码复用 (第5周)-程序题

JQuery 测验应用程序 - 突出显示无序列表条目和调用函数

在数据库中存储多项选择测验 - 确定模式

多项选择的测验应用程序

如何为测验应用程序实现倒数计时器? [关闭]