首页 > 解决方案 > HTML5 JQuery - 发布前加密游戏分数?

问题描述

我有一个在 php 页面上运行的 HTML5 基本 Space Invaders 游戏。游戏结束后,我使用 JQuery 将分数发布到页面(添加到数据库)。

if (player.lives === 0) {
    $.post("submitscore.php", { 'score': player.score }, function(data){
        });
    }

我需要一种方法来添加加密,这样用户就不能只发布虚构的分数。有什么建议么?


编辑:或者我可以使用 php.ini 检查 POST 的来源。如果分数是从不同的域/页面提交的,那么忽略?

标签: jqueryhtmlencryption

解决方案


我了解您要解决的问题,但不幸的是,您打算解决的方法行不通。

任何人都可以通过复制您的 JavaScript 逻辑并执行它以获得他们选择的自定义值来向您的服务器提供虚假分数。

确保您收到合法分数的唯一方法是将实际游戏逻辑本身放在服务器上。

此外,即使加密可以解决这个问题(它不能),你也不想自己实现它。HTTPS 绰绰有余。


推荐阅读