jquery - HTML5 JQuery - 发布前加密游戏分数?
问题描述
我有一个在 php 页面上运行的 HTML5 基本 Space Invaders 游戏。游戏结束后,我使用 JQuery 将分数发布到页面(添加到数据库)。
if (player.lives === 0) {
$.post("submitscore.php", { 'score': player.score }, function(data){
});
}
我需要一种方法来添加加密,这样用户就不能只发布虚构的分数。有什么建议么?
编辑:或者我可以使用 php.ini 检查 POST 的来源。如果分数是从不同的域/页面提交的,那么忽略?
解决方案
我了解您要解决的问题,但不幸的是,您打算解决的方法行不通。
任何人都可以通过复制您的 JavaScript 逻辑并执行它以获得他们选择的自定义值来向您的服务器提供虚假分数。
确保您收到合法分数的唯一方法是将实际游戏逻辑本身放在服务器上。
此外,即使加密可以解决这个问题(它不能),你也不想自己实现它。HTTPS 绰绰有余。
推荐阅读
- python - 如何解决 IndexError:标量变量的索引无效
- vhdl - VHDL输出信号给出UUUUUUU
- java - 找不到自动装配的 Bean,Intellij + Springboot
- sql - ORDER BY 不提供最大数字
- deep-learning - 在评估期间标准化值
- categories - 仪表板中使用的 bc-draggable 元素是否可以绑定到主页大卡特尔上的类别
- python-3.x - 我的 Pandas 数据框列名具有前缀 F1_column_name、F2_column_name.. F12_column_name。我怎样才能删除这些前缀
- c++ - 抛出实例'std :: out_of_range'后调用c ++终止what():basic_string :: substr:__pos> this->size()
- python - 请问有可能将属性设置为 swagger_auto_schema request_body 吗?
- json - 将带有不可预测键值对对象数组的 JSON 转换为 CSV