繁体   English   中英

如何检测连接客户端是否被修改(服务器:C#,客户端:AS3)

[英]How to detect if connecting client was modified (Server: C#, Client: AS3)

抱歉,尝试寻找现有线程,很幸运。

只是好奇是否有人有策略来保护易受攻击的游戏客户端,基本上任何人都要做的就是使用 Flash 反编译器来修改对它的攻击。 有谁知道我如何在线上传“合法”Flash 客户端,然后人们只能通过在上传到的网站上播放或使用 Flash 投影仪内的 URL 来连接到它? 如果他们下载客户端并尝试将其作为文件加载然后它拒绝,我认为它被称为“域锁定”或类似的东西。 或者,如果我能找到一种方法将客户端上传到我的网站,但无法下载(就像他们不能按 CTRL+S 并将文件保存到他们的桌面一样),那也很酷。

或者如果有人有其他建议,涉及将硬编码放入 C# 服务器或 AS3 客户端。

如果可以的话请帮忙,很可能是段落的第一部分,这部分似乎是一个可靠的计划,只要他们不能下载客户端,他们就不能修改它,所以我什至不必关心他们是否可以连接或不。

你专注于错误的问题。

你可以做很多事情来让试图使用未经授权的客户端的人变得困难。 例如,您可以在客户端中嵌入一个加密的一次性使用令牌,该令牌仅适用于给定的会话,并使客户端使用它加密与服务器的任何通信 - 直到该人设计了一个每次都下载客户端的模块并且提取令牌。

您可以使用 javascript 尝试使下载客户端变得非常重要 - 直到用户编写一个 Tampermonkey 脚本来禁用您的保护。

最终,如果代码在客户端运行,您几乎无法完全保证确定的参与者不会修改它,甚至不会构建自己的客户端来连接到您的服务器。 您应该做的是处理您的服务器代码以检测未修改的客户端永远不会发送的操作。 将所有客户视为不可信的,并验证您从他们那里收到的数据。 假设您的服务器将接收完全不合理的输入并相应地处理边缘情况。 (另外,不要立即假设您收到的不合理输入是故意作弊——它们很容易是客户端错误甚至用户端硬件故障的结果。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM