如何在客户端保护 Javascript 更改



我正在使用Firestore数据库开发一个应用程序,但我遇到了某些安全问题。例如,该应用程序在每次提交表单时添加创建和写入日期,并检查写入日期是否延迟,用户必须支付罚款。由于 JavaScript 代码是可见的并且可以在客户端更改,因此用户可以修改写入日期并绕过惩罚。

为了解决这个问题,我有两个选择,首先我可以使用服务器端,这需要我额外的服务器硬件,这是我不想的。 第二种选择是使用云功能,其成本远高于升级服务器硬件。 有没有更好的选择来处理这个问题?

No.

如果要以用户无法干扰的方式生成数据,则必须在您控制的计算机上生成数据(无论是传统托管还是分布式云托管(而不是在用户控制的计算机上生成数据。

事实上,为了完全控制系统,它需要以一种不会为用户提供"权力"的方式进行编程和开发 - 例如JavaScript。

如前所述,使用云函数将是您的最佳选择。我建议您查看定价。有很多非常好的选择,包括免费的。如果您刚刚启动系统/应用程序,使用免费套餐可能是您的最佳选择。:)

您可能需要查看有关 Firebase 服务器端安全规则的文档。这些规则可用于验证直接从客户端进行的读取和写入操作,并且在许多情况下可以满足直接从客户端访问的大部分安全需求。

在执行某些签入安全规则被证明是不可能的或不可行的情况下,云功能是一个很好的第二层。

最新更新