我正在使用Backbone.js开发单页应用程序,我问自己一些问题。
当我开发一个依赖于服务器上的渲染页面的应用程序时,我确实知道如何显示某些部分,具体取决于用户是否为admin(仅作为示例)。
但是现在,我正在使用Backbone.js并强调模板创建视图......所以....我可以创建一个cookie,说...好吧......是管理员,但无论如何,有人聪明足够可以改变cookie的价值。我只能在服务器端创建一个允许用户执行此操作的检查。
我正在考虑的其他机会是向服务器询问这些具体代码,然后将它们粘贴到正确的网站中
您怎么看?
由于
答案 0 :(得分:2)
您的方案对我来说并不完全清楚,但总的来说:如果服务器泄漏“秘密”信息或允许限制行为而未经过验证,则允许用户查看某些内容/执行某些操作那是一个安全漏洞。身份验证必须以既定方式进行:用户登录服务器上的 并接收安全(足够)令牌,例如会话cookie。然后,服务器仅向客户端发送允许用户查看的信息,并且仅允许用户允许执行的操作。
根据定义,任何客户端始终都是不安全的。仅存在安全的仅客户端身份验证系统。服务器不能以客户的话来说明他是谁。如果服务器无法验证该操作,则无需在客户端上执行任何关键操作。