![]() |
1
15
使它安全的唯一方法是在服务器端进行所有计算和验证。几乎所有的网络游戏都是这样做的。在联机通信中永远不能信任客户端,您必须始终确保服务器端的用户确实在执行有效的操作。(无论如何,在理论上,在实践中,您必须信任客户,以获得延迟补偿,并将一些非关键性的东西卸载到客户端)。 因此,javascript不是一种很好的开发在线游戏的语言,因为每一个动作都需要经过服务器的处理和验证。对于其他编程语言来说,这并不是一个大问题,因为您可以使用tcp/ip为服务器和客户机构建自己的通信协议。但是,对于javascript,不存在这种可能性,因为您必须依赖http协议和xmlhttprequest处理程序,这将导致非常低效的实时客户机-服务器通信。 就像你说的,你总是可以用javascript来完成界面,但是为了安全起见,你仍然需要在服务器端执行大量的操作,这对于需要更多面向操作的控制的游戏来说肯定是行不通的。所以,如果你需要安全性的话,你几乎只能玩基于回合的游戏。 |
![]() |
2
3
你可以做一些事情来挫败天真的用户,但可能不是所有人。这完全取决于这个人“攻击”你的游戏的动机。最后,用户可以使用javascript调试器来查看您的代码正在做什么,并复制它。即使你发送回每一个游戏动作,用户仍然可以复制。如果你不小心用户能做什么动作,他们可能会发回那些如果他们用默认的控制方案控制游戏是不可能的动作。 |
![]() |
3
2
应该没有胜利的网址。在游戏过程中,客户端应该发送用户操作,如果他们赢了,服务器会将他们重定向到胜利页面。 胜利页上不应计算/奖励,如果有的话。 |
![]() |
4
2
这会被认为是一种选择吗?(迟答) 把关键(你不想被黑客攻击的东西)转移到一个隐藏的内部flash播放器上,这个播放器同时充当关键变量存储、计算器(例如:生命点)和“通信器”到服务器上存储这些游戏数据。 它绝对比javascript更安全。不过,最好还是假设你的客户端是100%不安全的。(即使在C++游戏中,LOL:黑客) 但是,通过将游戏数据的流量传输到flash,您可以利用它的一些更有趣的通信功能,例如:p2p=) |
![]() |
5
1
不,没有办法。
|
![]() |
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
![]() |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
|
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |