问题标签 [firebase-security]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - How can I ignore type in a Firebase security rule
The Firebase security rules do strict equality checks but I'd like to be able to check and ignore type where $userID may be a string or number. i.e. $userID = 1 or $userID = '1' and auth.id is a string.
I tried .toString() but it doesn't appear to be supported.
Is this possible?
json - Firebase API 密钥中的有效 JSON
我一直在使用 Firebase测试来自http://context.io/的 webhook。每当发送有效的电子邮件时,它将触发 POST。
问题是几个键有一个“。” 在名字里。Firebase 向我发送了 400 错误:
"error" : "无效数据;无法解析 JSON 对象、数组或值。您的键名中可能使用了无效字符。"
我可以使用安全规则来操作 newData 以替换“。” 还是我需要在两者之间使用代理服务器。
如果是这样,瘦nodejs代理服务器的推荐方法是什么,只能这样做。
firebase - Firebase删除具有安全规则的孩子!data.exists on write
我有一个添加新数据的安全规则
它用于防止使用!data.exists()
规则重复或覆盖子节点。
问题是,它不会让我用这条规则删除孩子,因为数据存在。为了解决这个问题,我添加了root.child('MODES/delete').val()
数据以允许我在将其设置为“是”时将其删除。
我怎样才能拥有它,所以我不必做这个工作?所以我可以没有重复,但如果我想也可以删除孩子?
security - 保护 Firebase:阻止管理员查看 Forge 中所有用户的数据?
我正在构建一个存储用户潜在私人笔记的应用程序。对我来说有点奇怪的是,我可以直接进入 Firebase Forge UI 并查找任何人编写的任何内容,这也意味着任何以某种方式访问我的 Firebase 帐户的人都可以进入并选择“导出 JSON”以获取我所有用户的数据。
显然,我对自己的帐户很谨慎,并且是一个严谨的人,但对于管理员而言,通常似乎是一种很好的做法,即无法访问我们所有用户的数据。
我能想到的唯一方法是将所有内容存储在已由用户密码加密的字符串化 JSON 中,但这显然会使处理 Firebase 更加烦人,并且会阻止对低于该点的数据进行精细访问事物被字符串化和加密。
编辑:再想一想,这并不是 Firebase 特有的,而是大多数/所有数据存储的情况,除非您不遗余力地做到这一点。
firebase - Firebase 使用电子邮件/密码进行简单身份验证
我是 Firebase 的新手,我正在尝试使用电子邮件/密码设置一个简单的身份验证系统。最初的概念很简单:您注册。然后,登录后,您可以访问移动应用程序的其余部分。
过去,我可以在几分钟内使用 PHP 进行设置。但是有了 Firebase,这已经变成了一场我似乎无法取胜的战斗。
使用在 Firebase 网站上找到的轻量级文档,我终于能够成功注册和验证用户。伟大的。
不幸的是,无论是否登录,人们仍然可以访问应用程序的其余部分。如何保护应用免受未经身份验证的用户的攻击?
另外,如何将页面上提交的数据与经过身份验证的用户相关联?
我查看了 Firebase 的文档。它缺乏用于身份验证的实际示例。它不断向我推荐 Firefeed 应用程序作为示例。我查看了 Firefeed 的代码,身份验证系统似乎 1) 对于登录系统来说过于复杂,2) 与新闻提要的联系过于复杂,无法作为一个实际的例子来学习。
另一方面,也许我只是错过了一些明显和基本的东西。如果有人能指出我正确的方向,那就太好了。谢谢!:-)
(顺便说一句,我尝试按照 Firebase 网站上的建议将这个问题通过电子邮件发送到 firebase-talk@googlegroups.com……但根据 Google 的退回消息,该组似乎不存在。)
php - 如何将 Firebase 安全规则配置为仅允许来自 CURL/PHP 源的写入?
我想在 Firebase 中创建一个安全规则,只允许 PHP 脚本(通过 CURL 请求)写入某个位置。
当安全规则允许任何具有身份验证的人通过将 .json?auth=MYAPPTOKEN 附加到 URL 来读取/写入时,我可以使用 PHP 脚本读取/写入 Firebase。
我还能够包含/排除使用简单登录的用户从读/写到位置,所以我认为我对安全规则语法/操作有一个基本的处理。
现在,我想在 Firebase 中有一个只能从我的 PHP 文件中写入的位置。
我尝试过的安全规则:
另一方面,我尝试修改请求中的 .json?auth= 。这是我尝试过的:
第二次尝试:
然后用 .json?auth=$auth 替换 .json?auth=MYTOKEN
那么,如何只允许该脚本写入某个位置?
多谢你们。
firebase - 如何从 node.js 客户端创建 firebase 用户
如何从 node.js 客户端创建 firebase 用户?我看到有一个简单的登录,但看起来是从网络浏览器中使用的。我想用我的 firebase 密码进行身份验证,然后以某种方式调用 createuser api。
我的系统的构建方式客户端仅将请求发送到后端进行处理。通过这种方式,我可以记录每个用户采取的每项操作,并且我可以保证每次更改都应用于我的其他数据库,然后再将其应用到 firebase。另外我不希望用户能够创建其他用户。Firebase 对我来说只是一个工作队列,但我也使用简单的登录来验证用户,然后将它们交换到登录令牌,以便能够在安全规则的身份验证中检查自定义权限。
firebase - 我可以使用 FirebaseSimpleLogin 以其他用户身份进行身份验证吗?
大多数应用程序都有一个“代表客户 X 行动”按钮。使用 Firebase 可以实现吗?
我注意到我可以使用自定义登录创建一个管理员令牌,但由于数据不可避免地由用户的 ID 索引,如果我仍然以我自己的身份进行身份验证,那么获取用户的数据是很困难的。
firebase - 如何要求使用 Firebase SimpleLogin 更改其他用户特定设置(不仅仅是更改密码)的密码
对于 Firebase 简单登录,我们有 changePassword 方法,该方法要求在设置新密码之前提供旧密码。
我想在我的应用程序中添加一项功能,其中需要当前密码才能更改其他用户特定参数(如电子邮件地址或用户名),但不一定在设置新密码时。
如果目前可能,最好的方法是什么?
firebase - Firebase 安全规则
我是 Firebase 的新手,并且真的在安全规则方面苦苦挣扎。
我正在尝试存储只能由该用户访问的匿名用户会话的数据,但是一旦我收紧安全规则,我就会被拒绝许可并且无法找出原因。
我的结构是:
/userSessions/$user/user_id
应用程序推送到用户会话并写入匿名登录返回的 user_id。
我有以下安全规则:
我确定我在做一些愚蠢的事情,但也无法弄清楚如何使用安全模拟器,所以不知道如何解决这个问题
非常感谢任何帮助
编辑 - 匿名身份验证后尝试在 userSessions 下创建新条目时出现问题。
代码: