Firestore - 清理文本区域输入?

Ron*_*ton 5 javascript firebase-security google-cloud-firestore

我在Cloud Firestore 安全规则文档的编写条件中看到,可以针对新写入运行(服务器端)自定义函数。我的问题是:textarea在将用户输入写入/保存到 FireStore 之前,我什至需要担心对其进行消毒,还是 Firestore 会自动执行此操作?

如果我需要清理用户输入,那么 javascript 函数会是什么样子来做到这一点?我应该禁止或从字符串中删除哪些字符?提前致谢。

Fra*_*len 4

Firestore 不会自动对输入进行任何过滤。如果您想过滤输入,则必须在自己的代码和/或安全规则中执行此操作。

确切的规则取决于您的具体需求。我看到的最常见的事情是长度限制,以及电子邮件或电话号码验证之类的事情。更复杂的规则肯定是可能的,但许多开发人员在某些时候更喜欢使用云函数来进行清理。

  • Firestore 不存储 JavaScript,它只存储文本。您需要确保您永远不会简单地使用“elm.innerHTML”设置任何用户输入。如果用户可以输入文本,则存储他们输入的内容,并使用“elm.innerText”进行设置。一种非常简单的清理方法是将“<”添加到 HTML 时将其转义为“<”。 (3认同)
  • 我担心有人将 javascript 放入文本区域。您知道防止恶意代码通过的最佳方法吗? (2认同)