【问题标题】:How to securely send image from backend to be displayed in frontend HTML?如何安全地从后端发送图像以显示在前端 HTML 中?
【发布时间】:2019-09-19 21:27:13
【问题描述】:

我正在开发一个网络应用程序,包括后端服务器和前端 SPA。 当用户被认证时,他必须能够在他的浏览器中可视化机密图像(之前上传的)。我想知道最安全的方法。

一旦用户通过后端 (JWT) 进行身份验证,后端如何安全地将图像发送给用户进行显示?

我想到了两种可能的方法:

  1. 使用带有超时的签名 URL。这也意味着任何在超时时间段内找到此公共 URL 的人都可以访问机密图像。但似乎“谷歌照片”/facebook 正在以这种方式工作。

  2. 在 base64 的 rest 调用中发送图像。这也意味着,如果我们在公共场所,可以在任何服务器上记录通话,并且在多年后仍然可以访问。

有什么建议吗?!

【问题讨论】:

    标签: javascript image security frontend pre-signed-url


    【解决方案1】:

    您可以将令牌(甚至可能是 JWT)附加到图像 URL src 并在提供图像之前在后端检查此令牌。 img 标签看起来像这样:

    <img src="https://path-to-image?token=securetoken">
    

    请注意,我假设您使用 https(而不是 http)作为 src url,因此无法拦截令牌。

    【讨论】:

    • 感谢您的回答,我不确定网址是否清晰!
    猜你喜欢
    • 1970-01-01
    • 2016-10-08
    • 2016-05-09
    • 2018-02-02
    • 2021-11-28
    • 2016-04-09
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    相关资源
    最近更新 更多