В настоящее время я занимаюсь разработкой полностью браузерной игры (а-ля Cookie Clicker ) и пытаюсь свести к минимуму вероятность того, что пользователи используют видимый JavaScript-код для обмана своих игр. Для объяснения, давайте посмотрим на гипотетическую функцию;
let user = {
money: 0
};
function addMoney(amount) {
user.money += amount;
}
Если бы это была реальная функция в моей игре, любой пользователь мог бы просто открыть консоль разработчика, набрать addMoney(1e100)
и мгновенно уничтожить любую возможность конкурентоспособности среди моей потенциальной базы игроков.
Я хотел бы знать, есть ли способ отключить внешний ввод JavaScript (будь то через консоль разработчика или с помощью инъекций javascript:()
в адресной строке), и если такой вещи не существует, по крайней мере возможно обнаружить внешний JavaScript в отличие от JavaScript, который выполнялся внутри самого сайта?