骨干.js安全



我目前正在学习骨干.js,如果我的问题不是nooby,很抱歉:-P

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

有没有办法阻止此类行为?

考虑到我的所有数据都将存储在模型中,并且用户可以轻松检索,我不太习惯使用Backbone.js,是只有我还是这里有问题?!

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

为了避免如此多的 bdd 要求,您还可以在服务器端为每个登录用户生成一个关联的id => serial key数组,并在身份验证过程中通过fetch()返回它,然后检查您生成的 id 和串行密钥是否与每个 AJAX 调用匹配。

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

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

有没有办法阻止此类行为?

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

考虑到我的所有数据都将存储在模型中,并且用户可以轻松检索,我不太习惯使用Backbone.js

然后不要使用它。

但是,如果您不使用像backbond这样的客户端框架,那么如果它是您会向用户显示的内容,请不要偏执地将数据保密。

考虑到我的所有数据都将存储在模型中,并且用户可以轻松检索,我不太习惯使用 Backbone.js,是只有我一个人还是这里有问题?!

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

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

最新更新