如何在Firebase中保护我上传的文档?
例如,这是我上传的文档URL:-https://firebasestorage.googleapis.com/v0/b/sapient-logic-368311.appspot.com/o/coder.JPEG?alt=media&token=55d1a727-956f-434b-bdad-a08b8ef133d0
任何人都可以通过使用此文档URL访问和查看我上传的文档。
我如何保护上传的文件,然后只有授权的人可以访问上传的文件。
我想如果有人得到文件的网址,虽然不能访问或看到文件
我想这样如果有人尝试使用文档URL访问我的文档:-x1c 0d1x
或者我可以在Firebase中创建私有桶吗?
3条答案
按热度按时间pieyvz9o1#
任何人都可以通过使用此文档URL访问和查看我上传的文档。
这是正确的,发生这种情况是因为您共享了整个URL以及令牌,这是不正确的,因为令牌应该作为一种安全措施,将访问权限限制为只有那些拥有令牌的人才能访问。
因此,最好的选择是将这样的URL存储在Firestore或Realtime Database之类的数据库中,并且只允许使用安全规则读取URL。
请记住,每当文件上传到Cloud Storage for Firebase时,该令牌都会自动创建。因此,不要与任何人共享该令牌。
b4qexyjb2#
你可以写
rules
在它帮助你谁可以读或写的数据。6l7fqoea3#
如果特定文件被认为是私有的,则通常没有客户端应该具有对URL标记的访问权限。
如果文件URL是公共的,而您希望将其设为私有,则可以修改访问令牌,而不必重新上载文件或更改其路径。
我不知道你在什么平台上工作,但是在Python SDK中,可以这样做:
在此之后,之前的URL将不可用,firestore将以您提到的错误响应:
请注意,此解决方案适用于全堆栈应用程序,其中后端是将文件上传到Firebase存储的工具。如果您的项目包含直接连接到Firebase存储的客户端,则您应阅读安全规则并将其用作伪后端。