我现在正在学习 Backbone.js,如果我的问题是 nooby 的话,很抱歉:-P
在我的程序中,我在服务器端检查我的数据是否正确等等......但我想知道如果用户使用 FireBug 中的控制台更改存储在模型中的数据并尝试 .save() 或 .fetch( )。
有没有办法阻止这种行为?
考虑到我所有的数据都将存储在模型中并且可以被用户轻松检索到我不太习惯使用backbone.js,是我自己还是这里有什么问题?!
我现在正在学习 Backbone.js,如果我的问题是 nooby 的话,很抱歉:-P
在我的程序中,我在服务器端检查我的数据是否正确等等......但我想知道如果用户使用 FireBug 中的控制台更改存储在模型中的数据并尝试 .save() 或 .fetch( )。
有没有办法阻止这种行为?
考虑到我所有的数据都将存储在模型中并且可以被用户轻松检索到我不太习惯使用backbone.js,是我自己还是这里有什么问题?!
但我想知道如果用户使用 FireBug 中的控制台更改存储在模型中的数据并尝试 .save() 或 .fetch() 会发生什么。
然后将编辑后的数据提交到服务器
有没有办法阻止这种行为?
不,您只需要以与处理任何请求相同的方式处理它们:执行身份验证/授权以确保允许发出请求的用户这样做。
考虑到我所有的数据都将存储在模型中并且可以被用户轻松检索到我不太习惯使用backbone.js
然后不要使用它。
但是,如果您不使用诸如 backbond 之类的客户端框架,那么如果您将向用户显示这些数据,请不要偏执于保密数据。
考虑到我所有的数据都将存储在模型中并且可以被用户轻松检索到我不太习惯使用backbone.js,是我自己还是这里有什么问题?!
您没有做错任何事,但不使用 Backbone 不会使您的网站更加安全。即使您不使用 Backbone,我也可以在您的站点上启动控制台并向您的服务器发出任何我想要的 ajax 请求。如果我想更进一步,我可以构建一个应用程序来发出我想要的任何请求。
客户端无法实现真正的安全性。无论您是否使用诸如 Backbone 之类的东西,这都是服务器的责任。
一种简单而安全的方法是将用户凭据(用户名和密码)包含到您的模型中,并在服务器端对每个 AJAX 调用进行检查。
To avoid so much bdd requets, you can also generate an associated array of id => serial key
to each logged user on the server side and return it by fetch()
during the auth proccess, then, check if the id and the serial key you generated match to each AJAX calls.