我正在使用php
和jquery
开发一个非常、非常基本的回合制游戏,我正在寻找两种不同的方法来跟踪当前用户的分数:
1) global javascript variables
-例如js开头的var currentScore
。游戏、动作和转弯都是通过ajax控制的,所以我不必担心页面刷新会丢失变量数据。
2) mysql
-使用currentScore
、user
等创建一行,并每轮访问/更新一次。
我试图在a)加载速度和b)使分数防篡改之间取得平衡。我认为本地javascript会更快,更少的加载时间,但mysql记录会更防篡改。有没有人有任何建议,关于哪个更快,哪个更防篡改,或者可能有其他我没有列出的实现方法?
发布于 2012-11-28 08:36:18
我的意思是,不是让玩家的计算机控制动作,而是将结果发送回服务器……
它允许人们劫持并向你的PHP发送消息,就像自动射击的手枪一样……...or headshot脚本...or速黑。
更糟糕的是--发送像这样的消息:“我刚得了500分”,并让你的...or脚本:“好吧!”
因此,游戏引擎的核心应该在PHP中运行,客户端应该只说:“我的角色想要移动X
方块。”然后服务器可以说:“不,你是一个作弊工具,你只能移动3个方块。”,然后客户端将不得不遵守这些规则。
在这方面,PHP将100%控制记分。
发布于 2012-11-28 08:34:26
任何未存储在服务器上的数据都是可篡改的。发送到服务器的任何数据都可以被篡改。否则,作弊是相当容易的。话又说回来,你的项目可能不需要那么多的审查。
发布于 2012-11-28 08:33:46
两者都有,千万不要在游戏中相信javascript。总会有一个聪明的玩家来搞乱它。使用javascript的gui部分和控制游戏,但始终检查PHP中的所有结果,特别是玩家特定值。检查正确的播放器!!否则一些失败者会扰乱你的游戏。不要担心速度,只需编写游戏脚本(当然要考虑速度和数据),并在遇到性能问题时进行调查。有一个问题从一开始就很重要:考虑您的数据库表和查询。这很可能成为你的性能瓶颈,而不是糟糕的php脚本。
https://stackoverflow.com/questions/13595651
复制相似问题