database - 存储具有公共(public)链接但 ID 很长的用户文件是否安全?

标签 database security bucket

在我们的应用中,我们希望用户上传文件。

我们需要某种存储桶,因为我们不想将文件直接存储在数据库中。 我们将上传文件并通过数据库中的链接/id 链接它。

不过滤对文件的访问是否安全,因为链接/ID 可能很长,并且只有有权访问数据库行/文档的人员才知道强> t 是安全的。 假设存储桶存储不可迭代

最佳答案

我想说的是,这根本不安全。如果您的数据库遭到破坏并且整个数据被某人窃取怎么办?或者有一天,有人将对象 URL 粘贴到 Google 搜索中,然后 Google 将该 URL 编入索引。

您应该将文件保密地保存在您的存储桶中。

如果您使用的是 AWS S3。有一个称为预签名 URL 的功能。您可以通过使用对象所有者的安全凭证创建预签名 URL 来授予下载对象的限时权限,从而与其他人共享对象。

系统设计流程如下:

经过身份验证的用户从前端向后端请求存储的文件 -> 后端使用对象所有者凭证生成预签名 URL -> 将 URL 返回给前端 -> 前端使用该 URL 访问私有(private)文件

希望这对您有帮助。

关于database - 存储具有公共(public)链接但 ID 很长的用户文件是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73385216/

相关文章:

java - Java 中良好的 ACL 实现

php - 注册时,服务器端的哪些数据应该保存在数据库中

elasticsearch - 将SQL查询转换为ElasticSearch

python - 如何追加 AWS S3 存储桶通知配置

database - Cassandra迁移数据到新服务器

sql-server - 无法使用 Netbeans 连接到 Sql Server 数据库

android - 为开源项目创建虚拟 Fabric Api key

java - (==) 在 hashCode 方面的功能

sql-server - SQL Server 中如何检查数据库是否存在?

php - Preg_match 差异?