javascript - 用户可以使用控制台在我的网站上发送无效投注

标签 javascript html console userscripts

我有一个网站,用户可以在其中对他们认为会获胜的指定硬币下注。
我有 TT(1-7)、CT(8-14) 和 DRAGON(0)。非常基于轮盘赌。
因此,基本上,我网站上的用户可以右键单击 > 检查元素 > 控制台并粘贴此命令:send({"type" : "bet", "amount": "1e+2", "lower": 1, "upper" : 7, "round" : ROUND});
该命令将下注金额1e+2 (无效)在 TT 上执行时为 (1-7)。
网站会显示该投注仅限1信用,但他们实际上确实按字面意思1e+2数量。此外,如果他们获胜,他们将获得 15000 多个积分,而不是 2 个,因为 TT 和 CT 硬币只会使您的下注金额翻倍,而 DRAGON 则为 14 倍。
有什么方法可以禁用控制台、禁用控制台输入或类似的东西吗?我知道它可以修复,只是不确定以哪种方式修复。
编辑:附加信息: 当用户尝试下注1e+2时有效方式上的金额,使用我网站上的输入框,它会说它不是有效金额,但对于控制台来说它不起作用。而且,它不仅仅是 1e+2他们可以这样做 2e+51或者只是一些随机数字和符号。

最佳答案

您必须在服务器上检查发送的请求是否有效。始终假设每个客户都试图攻击您。客户端输入可以很容易地更改。

编辑:在 PHP 中,您可以像这样验证输入:

if(preg_match("[0-9]", $sent_input) {
    // valid input, execute the code
} else {
    die("Invalid input");
}

关于javascript - 用户可以使用控制台在我的网站上发送无效投注,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44519827/

相关文章:

excel - WScript.Shell Exec 的实时控制台输出

javascript - 如何在 JavaScript 中测试方法而不出现错误?

javascript - Node.js - 高阶一元函数 - 为什么需要这个?

javascript - 为什么它对数组正确但对对象却不正确?

javascript - 基于javascript数组中的多个属性进行过滤

javascript - 动态图转PDF

javascript - 如何在带有文本的 Html 框中创建建议框(Javascript 中的提示框)

javascript - VBA : access an HTML elements without Id or Name

javascript - Microsoft Azure CosmosDB 脚本资源管理器 console.log

javascript - 如何检查哪些功能运行以及何时运行?