Как предотвратить мошенничество, когда пользователь нажимает кнопку - PullRequest
0 голосов
/ 26 января 2019

Итак, я хотел разработать небольшую игру-кликер, чтобы мои ноги были мокрыми, и она также ответила бы на мой вопрос, который у меня возник в отношении мошенничества.

Так что это концепция, это пустая страница с Button и <h1/> Будет процесс регистрации, и пользователь попадет в базу данных со столбцом Score, а также с именем пользователя и паролем и т. Д.

Когда пользователь нажимает на Button, я хочу добавить этому пользователю точку, которая затем помещается в столбец Score в базе данных, так что счет сохраняется и также отображается на странице в h1 tag

Теперь, если я делаю это через JavaScript, получаю доступ к базе данных через Клиента и добавляю баллы от Клиента, то мне кажется, что я бы не предложил ничего, кроме мошенников и множества проблем безопасности.

Итак, мой вопрос. Как мне предотвратить мошенничество, возможно, создав кнопку, а затем подключив ее к функции в моем Controller, чтобы я мог справиться с ней на стороне сервера.

<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 голосов
/ 26 января 2019

Во-первых, вы должны переосмыслить необходимость прекращения мошенничества, во-вторых, все, что вы отправляете клиенту, в конечном итоге может быть взломано.

Похоже, вам нужно что-то от сервера, который аутентифицирует транзакцию как законную. Как это сделать полузащищенно - это действительно вопрос для этого сайта,

Если вы игнорируете проблему безопасности до тех пор, пока она не понадобится, вы можете сделать это через XMLHttpRequest или загрузить в новых браузерах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...