Backbone.js安全性

Sal*_*n A 6 javascript security backbone.js

我正在学习Backbone.js,很抱歉,如果我的问题是nooby :-P

在我的程序中,我检查我在服务器端的数据是否正确等...但我想知道如果用户使用FireBug中的Console更改存储在模型中的数据会发生什么,并尝试.save()或.fetch( ).

有没有办法阻止这种行为?

考虑到我的所有数据都将存储在模型中并且可以被用户轻松检索我对使用backbone.js感到不舒服,是不是只是我或者这里有什么问题?!

Que*_*tin 6

但我想知道如果用户使用FireBug中的Console更改存储在模型中的数据会发生什么,并尝试使用.save()或.fetch().

然后将编辑的数据提交给服务器

有没有办法阻止这种行为?

不,您必须以与处理任何请求相同的方式处理它们:执行身份验证/授权以确保允许发出请求的用户这样做.

考虑到我的所有数据都将存储在模型中并且可以被用户轻松检索,我使用backbone.js并不是很舒服

然后不要使用它.

但是,如果你没有使用像backbond这样的客户端框架,那么如果它是你要向用户显示的内容,请不要偏执保密数据.


小智 6

考虑到我的所有数据都将存储在模型中并且可以被用户轻松检索我对使用backbone.js感到不舒服,是不是只是我或者这里有什么问题?!

您没有做错任何事情,但不使用Backbone不会使您的网站更安全.即使你没有使用Backbone,我也可以在你的网站上启动控制台,并向你的服务器发出任何ajax请求.如果我想进一步,我可以构建一个应用程序,提出我想要的任何请求.

客户端无法实现真正​​的安全性.无论您是否使用Backbone之类的东西,这都是服务器的责任.


Lud*_*udo 6

一种简单而安全的方法是将用户凭据(用户名和密码)包含在模型中,并在服务器端检查每个AJAX调用.

为了避免这么多bdd requets,你还可以为id => serial key服务器端的每个登录用户生成一个关联的数组,并fetch()在auth proccess期间返回它,然后检查你生成的id和串行密钥是否与每个AJAX调用匹配.