Q
骨干安全问题
3
A
回答
6
的秘诀,确保主干网应用程序,或任何其他客户端,是你不依赖于客户端验证。一定要在服务器上验证。
例如,如果你要建立一个银行应用程序,你不会用骨干到用户的账户之间转移$ 100,然后发送回服务器的新账户余额为模型的更新。您将向服务器发送用户转移$ 100的意图,并让服务器发回新的余额。通过这种方式,服务器可以安全地确定用户在账户之间进行转账的权限,确定是否有足够的资金存在等。
客户端验证非常适合帮助减少往返并向用户提供即时反馈,但不应该认为它是保护应用程序的一种方法。例如。验证电子邮件地址的格式或客户端密码的强度,然后将其发送到服务器(应在服务器端再次验证它)是客户端验证的一个很好的示例。
至于网络服务,有不同的方法来保护它们。例如,您可以使用HTTPS或基于令牌的身份验证。
5
另一个问题可能是您公开的数据太多。例如:不要返回完整的用户记录(以填充模型),而只返回实际为您的应用程序所需的数据。
我看到其中(散列)密码被发送到客户端的例子。
1
当您保护主干应用程序时需要考虑的一件事是访问应用程序本身。
建立一个认证页面,用户输入自己的登录名/密码,那么如果通过身份验证,设置cokkie会话ID。
例如,如果你有渲染上http://mydomain.com/app主视图,你必须使用的cookies验证,以确保进入“/应用程序”。
例如,如果你的后端是的NodeJS:
app.get('/app', function(req, res, next){
if(!loggedIn(req,res))
sendError(res);
else
next();
});
什么的loggedIn将FO基本上是检查你是否在你的cookies有一个会话ID。如果是,它将允许您访问您的应用程序,否则会向用户提示“未经授权的访问”消息。
正如前面提到的,客户端验证是很重要的,但你必须使用服务器端验证,重新执行它。
Web服务的HTTPS也很重要。
相关问题
- 1. 饼干安全问题
- 2. 骨干delegateEvents问题
- 3. 骨干验证问题
- 4. uploadify +骨干事件问题
- 5. 骨干视图问题
- 6. 骨干深克隆问题
- 7. 骨干js集合问题
- 8. 骨干收集问题
- 9. 骨干增量问题
- 10. 骨干延长问题
- 11. 骨干全局变量
- 12. 骨干对象全球
- 13. 骨干和Codeigniter - 路由问题
- 14. 取骨干收集问题id为
- 15. 骨干保存模型问题
- 16. 问题与EL骨干视图
- 17. 骨干网的升级问题
- 18. 骨干模板中的性能问题
- 19. 骨干js:事件未触发问题
- 20. 骨干集合导出问题
- 21. 骨干视图中的范围问题
- 22. 问题首次加载骨干视图
- 23. Codeigniter休息问题与骨干
- 24. 问题与jQuery的承诺和骨干
- 25. 骨干视图顶级元素问题
- 26. 问题听力与骨干事件
- 27. 骨干样板渲染视图问题
- 28. 骨干。获取模型(JSON问题)
- 29. 安全问题
- 30. 安全问题?
风险与任何其他Web应用程序(或客户端/服务器应用程序)相同。没有什么特别的Backbone。 –