【问题标题】:Displaying an image in Angular that was saved on node.js backend在 Angular 中显示保存在 node.js 后端的图像
【发布时间】:2019-01-10 00:48:56
【问题描述】:

所以我有一个关于安全的问题。想象一下,我已将动物的图片上传到服务器。我已将 1545419953137bear.jpg 保存在后端的上传文件夹中,我保存了所有图像。

在前端我有这个 img 元素,我使用 [src] 动态创建此上传文件夹的路径以检索此熊图像。

我现在的问题是:这是正确的方法吗?或者这会让我容易受到安全问题的影响吗?如果是这样,有什么更好的方法来处理这个问题?

左侧是后端的上传文件夹,右侧是我创建此文件的方式

html 代码(角度)

<img [src]="linkImg(post.fileName)">

组件方法:此方法返回将显示图像的 url。这是正确的做法还是缺乏安全性?

linkImg(fileName) {
// base_URL returns localhost:3000 or the production URL
    return `${this.BASE_URL}/uploads/${posterProfilePic}`;
  }

【问题讨论】:

    标签: javascript html node.js angular


    【解决方案1】:

    这是处理服务图像的好方法。请记住,您的服务器应该是安全的。

    如果您想保护图像以供公开显示,您需要通过中间件或任何服务器技术确保它们的安全,并且检查是否是经过身份验证的请求。

    从角度来说还不错。

    安全阅读 https://nodesource.com/blog/nine-security-tips-to-keep-express-from-getting-pwned/

    【讨论】:

    • 谢谢。我也有特定情况,其中帖子的内容是我从数据库收到的 html 字符串(因此无法在其上使用角度代码)。在这个 html 字符串中有一个图像元素,其中 src 属性是硬编码的,并且在后端的这个上传文件夹中也有一个图像。这也安全吗?还是会导致问题?
    • 我想它足够安全,因为您正在提供 html。为什么不使用 angular 的 innerHTML 服务?只是一个想法。
    猜你喜欢
    • 2011-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 2020-03-01
    • 2017-11-03
    • 2020-12-15
    • 2012-03-25
    相关资源
    最近更新 更多