我正在用HTML5(WIP)开发一款游戏并且遇到了这种困难的情况......游戏非常简单,你玩,你输了或赢了,你得分。然后,游戏可以选择分享你的分数,但是......如何避免篡改价值?
到目前为止我所拥有的只是我游戏中Twitter的分享按钮,当你点击它时,会出现Twitter的模态窗口:"我在这个游戏中获得了X分!" 但该文字是可编辑的,这意味着......每个人都可以更改积分并写下一些篡改的值。
有没有办法在不能欺骗游戏分数的情况下发布此状态?也许有一种方法可以直接发布分数,从而禁用Twitter的模态窗口,允许编辑文本。
对此有何解决方案?如果没有,你可以给我什么建议在社交媒体上发布未改变的分数? (优选Twitter)
非常感谢您的帮助!
答案 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代表播放器发送推文。