繁体   English   中英

如何安全地从后端发送图像以显示在前端 HTML?

[英]How to securely send image from backend to be displayed in frontend HTML?

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

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

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

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

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

所以有什么建议吗?!

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM