在没有可能被篡改的值的情况下发布HTML5游戏的得分

时间:2017-09-01 03:36:23

标签: html5 twitter

我正在用HTML5(WIP)开发一款游戏并且遇到了这种困难的情况......游戏非常简单,你玩,你输了或赢了,你得分。然后,游戏可以选择分享你的分数,但是......如何避免篡改价值?

到目前为止我所拥有的只是我游戏中Twitter的分享按钮,当你点击它时,会出现Twitter的模态窗口:"我在这个游戏中获得了X分!" 但该文字是可编辑的,这意味着......每个人都可以更改积分并写下一些篡改的值。

有没有办法在不能欺骗游戏分数的情况下发布此状态?也许有一种方法可以直接发布分数,从而禁用Twitter的模态窗口,允许编辑文本。

对此有何解决方案?如果没有,你可以给我什么建议在社交媒体上发布未改变的分数? (优选Twitter)

非常感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

简而言之,

可以阻止模式允许用户输入数据,这将阻止大多数操作。但是,即使提交了分数,也有没有方式阻止用户篡改他们的分数以伪造他们。

Firefox Tamper Data插件等工具允许用户“冻结”分数提交,并在值POST到服务器时操纵值。不幸的是,您无法阻止用户以这种方式伪造他们的分数。

你能做的最好的事情是混淆你的评分系统,让人们很难理解它的运作方式。这并不一定阻止他们操纵他们的分数,但这样做会更难。

希望这有帮助! :)

答案 1 :(得分:1)

一旦提出建议,您可以将帖子分数作为可以是base-64数据的图像。这是用于上传base-64媒体数据的Twitter API,

https://dev.twitter.com/rest/reference/post/media/upload

您可以使用HTML5 Canvas生成乐谱图像,并使用canvas.toDataURL()将其转换为base-64图像数据并将其传递给Twitter API

答案 2 :(得分:1)

  

也许有一种直接发布分数的方法,禁用Twitter的模态窗口,允许编辑文本。

是的,您需要让玩家使用Twitter登录您的应用。完成后,您的应用可以使用API​​代表播放器发送推文。