【发布时间】:2012-09-23 10:33:27
【问题描述】:
经过大量和积极的搜索,我对如何防止在 Flash 游戏中使用套接字进行某些多人游戏功能时出现的安全问题一无所知。令人惊叹的 ECMAScript 兼容/类似语言的源代码易于访问,这使得他妈妈地下室中每个被动攻击性的书呆子都能找到获取攻击向量的关键信息。
他们会在几秒钟内找到服务器的 IP、服务器正在侦听的端口 - 他们正在远程登录并发送数据字符串。而且由于 JSON 是如此开放且易于被人类解释,它在客户端被字符串化并在服务器端解析,我不知道如何防止这样的消息通过(在他们找到服务器正在寻找的命中点之后, 在 swf 中很容易找到):
示例:
{ "request_type" : "WRITE_HS", "name" : "GloriousNerd", "highscore" : 9999999 }
他们的请求被确定为真实的,乐谱被写入,光荣的书呆子获胜。同样可以创建无休止的负载高分请求流,这些请求会返回许多项目,从而阻塞带宽和真正请求的系统。
我保留了一些标准方法,扫描“impossibru 结果”并将 IP 列入黑名单等,但没有什么能阻止它。这是一个后缀操作,总是。与我交谈过的每个人都说这是一场失败的战斗。小林丸?
有没有办法阻止访问和编码游戏和服务器可以唯一共享的某些信息?公钥、私钥、任何类型的加密都很容易找到和复制。而 JSON 只是赤身裸体地坐在那里。有什么方法可以确保它只通过 SWF 和 SWF?
在不进行认证的情况下,我希望人们尽快玩。在我看来,防止作弊的唯一方法是创建一个帐户并通过成就为其增值。但是,有些男人只是想看着这个世界燃烧。
你能在我的插座上写一些智慧的话吗?我全是港口。
【问题讨论】:
-
不可能。客户端上发生的一切都可以由攻击者控制。将游戏的整个回放发送到服务器,并在那里进行验证。
-
是的,似乎是唯一的选择。 ://
标签: javascript json sockets security actionscript