我正在尝试理解/预测与使用firebase作为后端相关的安全注意事项。
这些文档涵盖了对用户进行身份验证和验证输入,但我找不到与恶意用户尝试将javascript注入数据库相关的风险的讨论。
是否有可能将javascript包含在保存到数据库的输入字段中,然后可以在以后检索并显示该代码时执行该输入字段?
或者firebase以某种方式逃避或消毒数据?
答案 0 :(得分:10)
任何数据库(或其他存储系统)都可用于存储恶意代码,因为它们是其功能所固有的:它们只是存储数据。
Firebase SDK和支持的库(例如AngularFire,EmberFire和ReactFire)确保他们永远不会将数据库中的信息嵌入到未转义的HTML页面中。虽然我们(我在Firebase工作)总是有可能错过那里的东西,但我不记得曾经有过报道。
答案 1 :(得分:4)
将其放入网页时,无论后端如何,都必须正确转义所有用户输入。
答案 2 :(得分:0)
Firebase提供数据验证,您可以检查将javascript片段注入数据库。
https://firebase.google.com/docs/database/security/securing-data#validating_data
您应该始终清理输出,这与Firebase无关,但这是一个很好的经验法则。