gpt4 book ai didi

security - SPA架构问题

转载 作者:行者123 更新时间:2023-12-02 21:34:10 26 4
gpt4 key购买 nike

这篇文章旨在开始对网络单页应用程序进行更深入的讨论。在有关该主题的大多数资源中,有些问题似乎没有明确的答案。他们在我心里

  1. 授权和身份验证。由于整个 Web 应用程序位于客户端,它可能会在其任何功能中调用服务器,甚至是用户无权调用的功能。用户看不到菜单这一事实并不妨碍该人调用 Java 脚本函数。这在 MVC 应用程序中很容易处理,例如,通过使用基于 cookie 验证特定功能的用户权限的 Controller 。然而,一些 SPA 应用程序仅使用带有 Breeze 或 Web Api 的单个 Controller ,这使得授权服务器端无法实现。
  2. 客户端内存管理对于小型示例应用程序来说,这不是问题,但想象一下一个具有 100 个屏幕的应用程序或一个具有单个屏幕的应用程序,可以在一天内提取数千条记录。如果使用持久缓存,人们可能会遇到大内存问题,尤其是在 RAM 很少的低功耗设备上,例如手机或平板电脑。一群开发人员如果没有处理内存管理的清晰愿景,怎么可能走 SPA 路线?
  3. 三层部署某些 IT 部门永远不会允许应用程序使用连接字符串连接到位于前端 Web 服务器上的数据库。我见过的每个 SPA 演示的结构都与此完全相同,包括 Breeze 或 Web Api。
  4. 不引人注目的验证。它将要求开发人员使用 MVC 部分 View 和 Controller ,而不仅仅是 HTML 文件,这似乎与 SPA 概念背道而驰,同时它提供了一种非常强大的方法来轻松地将验证和 UI 合并到 Web 应用程序中。<
  5. 在 URL 中公开基于主要整数的键。
    这在 OWASP 中是不可以的。因此,SPA 应用程序“似乎”针对安全要求较低且功能集较小的区域。你觉得怎么样?

谢谢。

最佳答案

@Sergey - 我认为这个问题对于 StackOverflow 来说太宽泛了。所以。不是讨论论坛;这是一个寻求具体答案的地方。因此,虽然您的问题可能是有效的,但我认为您不应该对此处的深入实质性答复抱有太大希望。

请允许我以最友好的方式补充一下,您的全面、未经证实和消极的言论让您看起来像个巨魔。谢尔盖,你不是巨魔吧?

如果您真的很担心,我会提供一些快速 react ,特别是与 Breeze 相关的 react 。

  1. 授权。在 Web API 中,您可以在方法级别进行授权。 ApiController 基类有一个 User 属性,该属性返回 IPrincipal。因此,无论您有一个还是多个 Controller (如果需要,您可以在 Breeze 中拥有多个 Controller ),粒度是方法级别,而不仅仅是类级别。

  2. 内存管理。桌面开发人员多年来一直在应对这一问题。如果您一直开发进程生命周期较短的传统 Web 应用程序,这可能会让您感到惊讶。但对于我们这些使用 WinForms、WPF 和 Silverlight 等桌面技术构建大型应用程序的人来说,长时间运行的流程并不是什么新鲜事。 HTML 和 JavaScript 领域的问题和解决方案非常相似。

  3. 后端层。您看演示的时间太长了。是的,大多数演示将所有内容转储到在一台服务器上运行的一个项目中。我们假设您知道如何重构服务器以满足您环境的扩展、性能和安全要求。我们的演示主要涉及前端 SPA 开发。我们涉足服务边界,以展示数据如何流经服务 API、ORM、到达数据库。我们认为识别这些不同的层就足够了,并将这些层移动到不同层的相对琐碎的事情留给读者作为练习。有一天我们可能不得不重新审视这个假设。但是,有人认真地相信跨服务器端层分配层/职责存在重大障碍吗?真的吗?像什么?

  4. 不引人注目的验证。当大多数人开始在 HTML 中使用“不引人注目”这个词时,他们通常会强调将 JavaScript 排除在 HTML 之外。也许这也是您的意思,在这种情况下,各地的 SPA 开发人员都同意......这就是为什么有许多“不引人注目的验证”库可用。我想到的是 HTML 5 验证、jQuery 验证和 Knockout 验证。所有这些都在 SPA 开发人员的工具包中,并且没有一个“要求开发人员使用 MVC 部分 View 和 Controller ”。是什么让您觉得 SPA 需要任何类型的服务器端资源来使用无 JavaScript 的 HTML 标记实现验证?

  5. ID 存在安全风险。真的吗?这是假的。键值并不比任何其他数据值更具安全风险。数以百万计的应用程序(不仅仅是 SPA)在 URL 和正文中向客户端传达关键值。它是 REST API 中的标准。这是 ODATA 中的标准。您想通过说它们“目标区域安全要求低且功能集小”来驳回它们吗?祝你好运。我认为您必须做得更好,而不是将您的案例依赖于一个相对不知名的组织的整个网站的链接。

关于security - SPA架构问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16132523/

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