0

我正在使用https://pavlovia.org在风险选择中进行一些行为经济学实验。该任务要求受试者玩(或不玩)不同的彩票。系统创建在主体浏览器上运行的 javascript 文件。但是,我发现检查和编辑 javascript 非常容易,这将允许恶意主体给自己带来优势(例如,增加彩票支付的可能性)。

如果有人让所有彩票都“中奖”,很容易判断他们作弊,但如果他们将概率提高一点,那就很难了。

除了重写所有内容以使逻辑在服务器端之外,我想知道是否可以在客户端计算 JS 代码的哈希(md5 或 sha)并将其发送回服务器以检查 JS 是否有被编辑。我发现了几篇与在 javascript 中计算哈希相关的帖子,但我不确定文件是否可以计算自己的哈希。

我很欣赏一个老练的用户也可以破解那部分代码(例如,将原始文件复制到另一个名称,然后编辑将哈希指向原始文件的代码,或类似的东西)。但我想知道这种技术是否会成为作弊的另一个障碍。

4

1 回答 1

1

用户可以在运行时调试 JS 代码并替换某些变量中的值。即使 JS 散列是可能的,它也不会阻止它。我相信除了在服务器端加入关键逻辑之外别无他法。

于 2020-08-11T08:54:09.587 回答