【问题标题】:How to securely store files for use with web api [closed]如何安全地存储文件以供 web api 使用 [关闭]
【发布时间】:2020-06-29 21:22:24
【问题描述】:

我有一个用作图书库的应用程序。我有 mysql 数据库,其中包含所有书籍(id、标题、作者、thumbnailURI、PdfURI)。实际的 pdf 书籍文件存储在单独的服务器上(http://files.hdesu.pl)。到目前为止,它的工作方式是这样的:
-Client(website) 从 Api 获取书籍列表并将其显示给用户。
-当用户选择特定书籍(通过点击它)时,它会转到详细信息页面并传递选择的书籍 ID。
- 详细信息页面从 API 请求该 bookID 的数据,它会返回标题、作者以及缩略图和 pdf 的路径。
- 然后执行 ajax 调用以从文件服务器获取这些文件,并将它们呈现给用户。
现在我的问题是我需要以某种方式保护这些文件不让任何人得到它们。现在只要你有 URI,你就可以下载 pdf,我需要以某种方式限制它们。我该如何保护他们?

【问题讨论】:

    标签: javascript c# asp.net-core web


    【解决方案1】:

    这个问题更多的是建筑性质,但我认为你想做的是:

    1. 客户端通过您的 API 获取 PDF,而不是直接通过公共 URL 到您的文件存储。这样您就可以在您的 API 中对这些请求进行身份验证。
    2. 限制对文件的所有访问权限,API 除外

    【讨论】:

    • 好的,但是如何让我的 api 发送 pdf 文件?我的意思是 GetPDF 控制器应该返回什么类型?在 Asp 网核中
    • 查看FileResult。我会提供基本上代理到您想要的文件的链接。检查安全性,如果他们无权访问,则返回 403 状态,如果他们有访问权,则流式传输文件 (FileStreamResult)。
    猜你喜欢
    • 2018-12-04
    • 2014-01-11
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 2021-08-08
    • 2019-02-20
    • 1970-01-01
    相关资源
    最近更新 更多