您能为我提供一些提示,并指导我更好地保护我的项目吗?
该项目是一个包含问题和答案的测验。
我有一个由管理员(自定义声明)管理的基于Web的CMS,该管理员将Firestore连接到CRUD数据。
其他用户可以连接前端仪表板以查看问题并回答。
有2个应用程序,iOS和android,用户还可以下载应用程序并回答问题。
在Firestore中,有一个包含“答案”文档的“问题”集合,每个答案都包含一个is_correct_answer(布尔值)字段
如何阻止用户,使他们无法阅读is_correct_answer字段?
如果聪明的用户尝试在下面插入代码,他将看到哪个是问题的正确答案。
firebase.firestore()
.collection("questions")
.doc("question_1")
.collection("answers")
.doc("answer_1")
.get().then(function(snap){
console.log(snap.data().is_correct_answer );
})
也许这是与数据库有关的问题,firestore规则,错误的模式……我真的不知道。我只需要向用户隐藏正确答案。我不想他们找到正确答案的路径。
谢谢。
多亏了Frank van Puffelen和Jason Berryman提供的解释,我终于找到了解决我的问题的方法:
我触发一个HTTP函数,询问管理员SDK是否存在。如果为true,则通过JWT并登录用户。借助JWT后端,可以检查该用户发出的所有请求。这样做会阻止用户直接与客户端上的Firebase通信。应用程序已加密,连接为HTTPS。
我不知道这是否安全和“良好做法”,但确实对我有用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句