如何保护flash和php之间的数据传输?
Posted
技术标签:
【中文标题】如何保护flash和php之间的数据传输?【英文标题】:How to protect data transfer between flash and php? 【发布时间】:2014-03-25 05:34:12 【问题描述】:我想用我用高分制作的 Flash 游戏制作一个网站,我正在使用此代码将分数发布到一个 php 文件:
submit.onPress = function ()
getURL ("highscore.php", "_blank", "POST");
基本上有一个 submit 按钮,当你点击它时,它会打开一个新标签,它实际上是一个 php 文件,上面写着 Your score is 12 。我的问题是如何防止人们作弊并可能发送虚假的高分?如果有人有任何想法,请告诉我...
【问题讨论】:
如果不在服务器上运行游戏,很难做到万无一失。但是你可以做的一件事是在发布之前加密分数。 那么游戏将在同一台服务器上,我会亲自制作并将其添加到我自己的服务器:) 你也可以给我一个如何从 as2 加密的代码,因为我只能从as3,我现在正在使用 as2,或者如果可以的话,可以将我链接到一些论坛或教程 到目前为止,我只为 AS2 找到了yuniti.com/As2RSA。另一种选择可能是使用某种性能证明,即您不仅要保留分数,还要保留一些其他数据,这些数据只有在您真正公平地玩游戏时才能(非常确定地)获得。 (在最简单的形式中,它可能是整个用户操作历史记录,但这可能有点过多的数据,具体取决于游戏。) 【参考方案1】:我认为这篇文章已经回答了这个问题: Flash Encryption PHP Decryption 但是,您可能还想添加一个Blowfish,这会使其更加困难,但绝非不可能破解
【讨论】:
【参考方案2】:var 分数 = 0; var addScore = 0;
//高分你获得20分的例子你需要把逻辑放在这:)
addScore = 20
//客户端 分数 = addScore * 3 + 23;
//服务器
分数 = addScore - 23 / 3;
【讨论】:
【参考方案3】:您需要加密变量加减乘以等分数并添加与实数相同的假数。然后当您需要分数时,请删除文件并经常在游戏启动时更新游戏并更改解密。
作弊引擎和其他 Flash 作弊引擎示例:购买东西或更改他们的分数 在作弊者更改 var 时更改的任何 var,他将拥有更改该实例的变量列表,因此您需要通过以下方式防止这种情况发生有多个变量作为分数或有一个计时器向上或向下计数,甚至两者都确保在你需要的加密变量中有乘法和除法!
【讨论】:
以上是关于如何保护flash和php之间的数据传输?的主要内容,如果未能解决你的问题,请参考以下文章
Flash lite 1.1 Actionscript 和 PHP