Javascript Firefox scratchpad和安全性

Javascript Firefox scratchpad和安全性,javascript,security,code-injection,scratchpad,Javascript,Security,Code Injection,Scratchpad,我正在使用javascript和canvas开发一个HTML5游戏,我想知道如何保护它不受firefox scratchpad或其他类似脚本注入工具的影响 如果任何用户可以在我的代码中运行自己的代码,我真的不知道如何阻止他调用onWin方法或将其分数修改为10亿等等 这是一个巨大的安全漏洞,我现在正考虑用flash或java对其重新编码 你觉得怎么样 问候。以下是您需要做的事情: 在服务器端,您需要检查只有授权用户才能访问 更新服务器中的任何数据。 所以,如果在更新之前有任何更新请求从客户端发送

我正在使用javascript和canvas开发一个HTML5游戏,我想知道如何保护它不受firefox scratchpad或其他类似脚本注入工具的影响

如果任何用户可以在我的代码中运行自己的代码,我真的不知道如何阻止他调用onWin方法或将其分数修改为10亿等等

这是一个巨大的安全漏洞,我现在正考虑用flash或java对其重新编码

你觉得怎么样


问候。

以下是您需要做的事情:

在服务器端,您需要检查只有授权用户才能访问 更新服务器中的任何数据。 所以,如果在更新之前有任何更新请求从客户端发送到服务器,您需要确保客户端有权这样做。
如果只在客户端进行检查,那么重新编码到flash或java并不重要。我不知道我可以在服务器端进行什么样的检查来检测请求是否合法。当用户赢得某个级别时,我可以执行ajax请求来更新数据库,但是使用scracthpad,任何用户都可以在不播放的情况下调用此命令,或者在调用之前将所有目标标志设置为true,等等。我可以在请求中添加的任何附加信息都可以被用户看到。服务器无法知道该关卡是否真的被玩过。使用scratchpad,用户可以调用游戏的内部代码,因此在授权上下文中的代码等。从游戏循环调用onWin方法和scratchpad调用onWin方法之间没有区别。如何区分它们?在JavaScript中无法区分。事实上,来自客户端的用户可以发送任何垃圾。您需要在服务器上进行区分。所以我不知道如何实现您的第一个建议。如何实现?您可以随时在服务器端进行检查。您想要什么样的检查?在这两种情况下,创建查询的客户端代码都是相同的。