HTML5 ajax客户端 - 服务器通信和安全性

时间:2015-06-01 13:34:20

标签: jquery ajax json html5

感谢您今天的帮助。我正在创建一个HTML5游戏,需要一些帮助来确定客户端服务器通信的最佳方法。

我试图避免使用socket.io,原因我无法提及。

主要的是应用程序需要是安全的(即不对js注入开放),同时尽可能减少服务器负载

我知道Ajax是一种这样的方法,Jquery在它的库中有一些简单的Ajax方法。

我不是在寻找任何代码,只是建议最好的方法。

让我提供简单的例子

我有1个div和2个按钮。 div显示硬币数量,第一个按钮每次点击加1个硬币,第二个按钮是升级硬币按钮,这将减去一定数量的硬币。

所有硬币的加法和减法都将在服务器端处理。我的理解是,如果我使用会话变量来存储服务器上的数据,它们是无法“欺骗引擎”或其他内存编辑工具。如果我错了,请纠正我。

因此,当用户点击添加硬币按钮时,硬币div将增加1或更高的金额。我知道可以通过

之类的东西非常简单地完成
 this.$('.add').prop('checked'); //equivalent to running: `this.$el.find(selector)`

所以这很容易受到js注射,换句话说有人可以改变它来点击它时添加超过1枚硬币,我的想法可能不是。

最后是否可以从同一个jquery请求更新多个元素,例如,如果我想从同一个请求更改“div1”和“div2”,或者最好将其作为2个单独的请求进行更新?还可以说请求返回的数据超过1条。这是一个Json文件会派上用场吗?

由于

1 个答案:

答案 0 :(得分:1)

我认为我能给你的最佳建议(作为前端/游戏开发)是“绝不信任用户输入”

任何用户都可以注入,编辑或删除使用JS / JQuery(chrome console,proxy ...)完成的任何请求。您必须验证所有用户输入服务器端。

例如,检查用户车是否赚钱,等级......此时此刻。

还要注意,如果用户可以赢得这笔钱或级别..它也可能是您的前端代码中的错误:)

希望这可以帮助...

此致

相关问题