【问题标题】:Securing server with clientside javascript使用客户端 javascript 保护服务器
【发布时间】:2014-12-02 13:09:46
【问题描述】:

我有一个使用 NodeJS 后端和 ReactJS 前端运行的网站。所有的前端逻辑都发生在用户的浏览器中,前端点击后端路由来获取业务逻辑。目前,我们使用passportjs 对用户进行身份验证。但是,当用户登录时,他或她仍然可以使用 Postman 之类的东西来访问所有后端路由,其中​​许多应该是私有的。有没有一种好方法可以确保只有管理员或我们的平台才能访问我们的后端路由?我认为这需要某种总是赋予前端逻辑的管理员权限,但我想知道是否有最佳实践。

【问题讨论】:

  • 如果客户端需要访问后端,你唯一能做的就是通过正常的身份验证来阻止访问后端。用户登录后,没有什么可以阻止该用户使用他们的授权凭据通过 fiddler 或具有相同凭据的类似软件发送他们自己的请求。
  • 您在这里唯一能做的就是通过默默无闻来确保安全,即手动操作变得如此繁琐以至于大部分用户都放弃了。没有只有浏览器才有的魔力。

标签: node.js access-control


【解决方案1】:

不幸的是,在客户端获得护照(或其他身份验证)之后,您几乎无法在不建立额外身份的情况下对服务进行外观设计。

这更多是在应用程序架构/设计领域,所以希望你重构的时间不会太远。如果不是,那么我建议您抽象您的服务,以便您可以更精细地保护它们。例如。对您的服务进行分层,以便您可以在调用某些私有/安全业务逻辑之前建立身份。像这样的框架可能会解决问题:http://loopback.io/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    • 2012-05-26
    相关资源
    最近更新 更多