用户单击按钮时如何防止作弊

时间:2019-01-26 14:55:45

标签: javascript html asp.net model-view-controller asp.net-core

所以我想开发一个小型的答题器游戏,以弄湿我的脚,它也可以回答我关于作弊的问题。

所以这是一个概念,存在一个空白页,其中包含一个Button和一个<h1/> 将有一个注册过程,并且用户将进入带有Score列以及用户名和密码等的数据库中。

当用户单击Button时,我想向该用户添加一个点,然后将该点放入数据库的Score列中,以便保存分数并将其显示在页面上在h1标签中

现在,如果我通过JavaScript进行操作,通过客户端访问数据库并从客户端添加点,那么感觉就像我除了作弊和许多安全性问题外,什么都不会邀请。

所以我的问题是。 如何通过可能创建一个按钮,然后将其与我的Controller中的Function挂钩来防止作弊,所以我可以在服务器端对其进行处理。

<body>
    <h1>Playground</h1>

    <h1>Points @Model.Coins</h1>

    <h1 id="Points">0</h1>

    <button id="PointsButton">Points!</button>

    <script src="~/js/PointSystem.js"></script>
</body>

JS

let i = 1;
let button = document.getElementById("PointsButton");
let DisplayPoints = document.getElementById("Points").innerHTML;
DisplayPoints = i;

button.onclick = AddPoints;

function AddPoints() {

}

1 个答案:

答案 0 :(得分:0)

首先,您应该重新考虑是否需要阻止作弊者,其次,发送给客户端的任何内容最终都是可入侵的。

听起来您需要来自服务器的某些东西来验证交易的合法性。对于这个网站,如何半安全地执行此操作确实是一个问题,

如果在必要时忽略安全问题,则可以通过XMLHttpRequest进行操作,也可以在较新的浏览器中进行获取。