【问题标题】:Firefox scratchpad and securityFirefox 暂存器和安全性
【发布时间】:2014-02-12 11:10:44
【问题描述】:

我正在使用 javascript 和 canvas 开发 HTML5 游戏,我想知道如何保护它免受 firefox 暂存器或任何其他类似的脚本注入工具的影响。

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

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

你怎么看?

问候。

【问题讨论】:

  • 重新编码到 flash 或 java 无关紧要,如果你只要做客户端检查。
  • 我看不出我可以在服务器端做什么样的检查来检测请求是否合法。当用户赢得一个关卡时,我可以发出 ajax 请求来更新数据库,但是使用 scracthpad,任何用户都可以在不播放的情况下调用它,或者在调用之前将所有目标标志设置为“true”等。我可以提供的任何其他信息用户可能会看到添加的请求。服务器无法知道关卡是否真的玩过。

标签: javascript security code-injection scratchpad


【解决方案1】:

这是你需要做的:

  • 在服务器端,您需要检查只有授权用户能够 更新服务器中的任何数据。
  • 因此,如果在更新之前有任何更新请求从客户端发送到服务器,您需要确保客户端已获得授权。

【讨论】:

  • 使用暂存器,用户可以调用游戏的内部代码,因此在授权上下文中的代码等。从游戏循环或暂存器调用 onWin() 方法之间没有区别.如何区分它们?
  • JavaScript 无法区分。事实上,来自客户端的用户可以发送任何废话。您需要在服务器上进行区分。
  • 所以我不知道如何实施您的第一个建议。
  • 怎么样?您可以随时在服务器端进行检查。
  • 您有什么样的支票?在这两种情况下,创建查询的客户端代码都是相同的。
猜你喜欢
  • 2018-01-17
  • 2011-08-04
  • 2011-03-18
  • 1970-01-01
  • 2018-08-14
  • 1970-01-01
  • 2015-09-11
  • 1970-01-01
  • 2015-10-11
相关资源
最近更新 更多