骨干安全问题

Lon*_*Int 3 backbone.js

开发骨干应用程序时可能面临的安全风险是什么?有人告诉我减轻此类风险的最佳做法.

在路由器中,任何用户都可以找到被调用的服务

Jam*_*sOR 6

保护Backbone应用程序或任何其他客户端的秘诀在于您不依赖于客户端验证.请务必在服务器上进行验证.

例如,如果您正在构建银行应用程序,则不会使用Backbone在用户帐户之间转移100美元,然后将新帐户余额作为模型更新发送回服务器.您将向服务器发送用户转移100美元的意图,并让服务器发回新余额.这样,服务器可以安全地确定用户在帐户之间进行此类转移的授权,确定是否存在足够的资金等.

客户端验证很有助于减少往返次数并立即向用户提供反馈,但不应将其视为保护应用程序的方法.例如验证电子邮件地址的格式或客户端上的密码将其发送到服务器(它应该再次验证服务器端)之前的强度是客户端验证的一个很好的例子.

至于Web服务,有不同的方法来保护它们.例如,您可以使用HTTPS或基于令牌的身份验证.


小智 5

另一个问题可能是您暴露了太多数据.例如:不返回完整的用户记录(填充模型),而只返回应用程序实际需要的数据.

我见过将(哈希)密码发送到客户端的示例.