gpt4 book ai didi

java - 保护 JavaScript 前端/REST 后端架构网站的最佳方式?

转载 作者:太空狗 更新时间:2023-10-29 22:47:51 25 4
gpt4 key购买 nike

我想构建以下项目:

  • 任何经过身份验证的客户端都可以访问的公共(public) REST API 后端
  • 带有 HTML/CSS/Javascript 静态文件的前端以及对 REST 后端的 Backbone.js jQuery 调用

事实上,我的架构中有三个部分:前端,它是后端的客户端,后端和想要在前端登录页面上进行身份验证的用户。

保护此架构中涉及的三方的最佳方式是什么?

事实上,我认为如果我在 javascript 中做所有事情,就不可能在前端做一个安全的应用程序,所以我打算将身份验证/授权委托(delegate)给服务器前端的代理层。你怎么看?

我打算使用 OAuth 来保护我的 REST 后端,但我不确定我是否必须使用 2 条腿或 3 条腿的实现。在这种情况下,正确的方法是什么?

更新:在 SO 网站上进行更深入的搜索时,我发现了这个 thread这正是我想做的,除了我想在服务器端使用 Java 而不是 DotNet。如果我理解得很好,实际上我的网站就像我的 REST API 的任何客户端一样,除了它是唯一有权创建新用户帐户的网站。因为,如果我的 REST API 只能通过 OAuth 访问(比如 Twitter 的),那么谁可以之前执行用户帐户创建?我说得对吗?

最佳答案

此架构安全性的一个主要问题是测试。自动化工具将无法测试此系统的常见漏洞,如 SQL 注入(inject),Direct Object Reference .用于测试奇怪架构的有用工具是 OWASP 的开源 Zed Attack Proxy或专有的 BURP 代理。测试将非常耗时,并且需要对 Web 应用程序漏洞有深入了解的人员。我们通常将这些人称为渗透测试人员

保持 session 状态的 RESTful 形式是使用 HMAC以保护值不被修改。然而,这是对密码学的滥用,因为它为攻击打开了大门。攻击者可以暴力破解您的 HMAC 中使用的 key ,然后修改诸如他的 session ID 之类的值,或者以其他方式获得对系统上另一个帐户的访问权限。只有在别无选择时才应使用密码术。通过将 session 状态存储在非 RESTful 的数据库中,可以完全防止此漏洞。

关于java - 保护 JavaScript 前端/REST 后端架构网站的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8546061/

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