gpt4 book ai didi

AngularJS 应用程序的安全性

转载 作者:行者123 更新时间:2023-12-04 19:56:30 27 4
gpt4 key购买 nike

免责声明:我不是真正的 developer ,我只是喜欢时不时地写一些代码 :)

最近我大致了解了 AngularJS 和浏览器端 MVC 框架,并决定使用它。大多数 Angular 文档都没有详细讨论服务器端的事情,这让用户可以自由选择。在阅读了 Angular 的 $resource 服务之后,我了解了像 MongoDB 和 CouchDB 这样的数据库,它们自己公开了一个 RESTful 接口(interface)。这带来了一个明显的问题 - 您如何保护这些东西?

在“传统”Web 应用程序中,服务器端会有一个层负责验证用户身份并授权他们访问数据。完成后,服务器端代码将使用固定的凭据集(相同的,无论 webapp 用户身份如何)与底层数据存储(例如 RDBMS)通信。我当然可以复制这个模型并编写一些 CRUD 代码,这些代码将公开一个 REST 接口(interface)并具有类似的行为。如果我想使用 $resource,是否需要将 webapp 用户绑定(bind)到某些 db 用户?我不能使用一组通用的凭据,因为它们会在代码中可见 - 看起来它正在编写一个中间层,或者将一组用户绑定(bind)到另一组用户。

我很好奇这个问题通常是如何解决的——如您所见,我有一些想法。由于我缺乏经验,我只是对这里的最佳实践感到好奇 :) 从一般意义上讲,这可能是一个更广泛的问题:假设您不应该信任客户端运行的代码,那么您如何处理事情像表单验证和其他类似“授权”的逻辑?

tl;dr:您如何保护 RESTful 数据库访问?您如何保护您的应用程序逻辑?

最佳答案

通常,您的前端将与之通信的 RESTful API 将是您自己的实现。它将对用户进行身份验证和授权,并在将数据存储到数据库之前验证数据。

一些表单验证可以在客户端完成,但我更喜欢在后端也进行数据验证,而不是只按原样信任客户端数据。

关于AngularJS 应用程序的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15134039/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com