【问题标题】:How to send data from backend to front end securely如何安全地将数据从后端发送到前端
【发布时间】:2021-04-20 06:05:12
【问题描述】:

所以我正在尝试找到一种方法将数据从后端安全地发送到前端。

我的应用是关于发布图片的,每个帖子都有名字、id、cmets等。

问题是我想使用 pug 预渲染我的所有帖子,但还要将这些帖子的所有数据安全地发送到前端。我知道您可以使用数据集属性发送数据,但我不希望客户端看到这些数据 - 我希望它是安全的。

我只是想知道这是否可能,以及是否有安全的方法来实现这一点

例如服务器发送 50 个帖子的数据。这 50 个帖子可以在前端 js 文件中访问,但不能通过控制台中的检查元素或任何其他方式访问。

【问题讨论】:

  • 澄清一下,我是 node.js 的新手。
  • 前端显示的任何内容在任何语言中都不应被视为安全。
  • 从根本上说,没有办法将数据发送到客户端,同时也阻止客户端看到该数据(这基本上就是您在这里所要求的)。通常这样做的方式是根据您拥有的任何授权标准从后端返回或不返回数据。
  • 用户可以完全控制前端运行的一切。如果他们的浏览器知道如何使用您发送给它的某些数据,那么用户也可以使用这些数据。
  • @Tidris 标记 id 总是一个好主意,因为您可以很容易地猜出连续的数字。这也意味着,如果您有数据泄露,您可以更新标记化的值,尤其是当它们是客户标识符时

标签: javascript node.js


【解决方案1】:

一旦数据到达浏览器(例如前端),它就可供用户使用。您可以在 Chrome 的开发工具的网络选项卡中查看数据。我不确定您将其固定在前端是什么意思。您似乎正在尝试覆盖不可能的浏览器功能。您可以在一定程度上使用 javascript 来阻止人们获取图像等的上下文菜单,但是,如果用户看起来足够努力,则很容易获取已加载的数据。

【讨论】:

  • 如果我想发送一个帖子的 id 怎么办?我是否应该创建另一个可以使用的随机 id,而不是数据库中的默认 ID?
  • @Tidris 我认为我们需要更多上下文,因为不清楚您要做什么。您想加载 50 个帖子,但不希望通过浏览器的检查元素功能访问它?这里的业务规则是什么。用户是否只允许查看某些帖子?它可以在服务器端而不是在不安全的客户端上进行管理吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-28
  • 2016-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-11
  • 2021-11-22
相关资源
最近更新 更多