我已经创建了一个游戏API,该API将由完全客户端javascript+html5应用程序使用,该应用程序位于另一个域中。
我设法解决了所有的CORS问题,而且一切都很好。
该API有一个提交用户评分的方法。一旦用户完成游戏,javascript应用程序将向API提交最终得分。
但问题是这样做安全吗?因为有些用户可以滥用API将假分数发送到服务器。
另一方面,完全由客户端创建web应用程序以生成分数是否安全?
提前谢谢
发布于 2014-06-13 03:10:06
一个简单的“提交分数”API对于一个完全由客户端运行的游戏来说是不安全的;考虑一下游戏公司试图“确保”他们的游戏不受版权侵犯的金额,然而这些保护经常被忽略。
如果游戏核心具有足够的确定性,您可以通过让客户端提交他们的行为记录,然后处理该记录(重新运行游戏核心服务器端)来确定实际得分来解决问题。作为奖励,你还可以让其他玩家观看高分游戏的重播:让他们下载成绩单并使用文字记录重新运行游戏核心,而不是实时输入(当然,也要为主持人竖起明显的奶酪)。
如果游戏在很大程度上依赖于隐藏的信息(例如扑克牌是朝下的或在未处理的堆栈中),则需要将这些信息完全排除在客户机器之外,并使用API调用来显示玩家发现的东西。否则,玩家会在面临困境时“神奇地”做出正确的决定。
如果游戏在很大程度上依赖玩家的灵巧性,那么你就会陷入一条充满污水的小溪:它最终会退化成一个问题,就像在多人玩家第一人称射击游戏中探测目标机器人、壁虎等等一样,它已经变成了一款可与病毒/杀毒军备竞赛相媲美的军备竞赛。
https://stackoverflow.com/questions/24196629
复制相似问题