我有一个网站,用户可以在其中对他们认为会获胜的指定硬币下注。
我有 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/