Здравствуйте! В скором времени мне нужно будет реализовать один проект. Игра на игровую валюту на сайте. Для примера возьмём коинфлип. Я собирался сделать на JS вычисления рандома в диапазоне двух чисел, и при помощи if выводить результат о проигрыше, либо выигрыше. Но тут назрел вопрос, как мне сделать так, что бы пользователь при помощи F12 не увидел как происходят вычисления, какой диапазон рандома, начисление баланса и прочее. Какими способами можно скрыть все вычисления? Может быть вычисления на сервере? Но как тогда подключить его к сайту, без возможности просмотра?
Я собирался сделать на JS вычисления рандома в диапазоне двух чисел, и при помощи if выводить результат о проигрыше, либо выигрыше.
Глупость кнечно, все что находится на строне клиента может (и будет) скомпрометировано и извращено.
Может быть вычисления на сервере?
Бинго!
Но как тогда подключить его к сайту, без возможности просмотра?
На сервере по команде выполняется код, его реализация не будет видна пользователю, у вас будет только запрос с публичными данными и ответ с готовым результатом. Так что сильно шифровать там нечего.
А как задать эту команду? Точнее как при onclick у какого-либо элемента послать весточку о выполнении кода на бэкенде, и прислать назад в js ответ о вычислениях (результат)?
Всё надо выносить в бэкенд и обращаться через API.
На стороне фронта на 100% защитить код невозможно по определению, т.к. весь код на клиенте и в полном распоряжении пользователя. Можно только усложнить чтение кода через обфускацию, которая остановит 80% любопытных. Но особо упорных это не остановит.
Все способы по ссылке защитят только от несведущего обывателя, но легко ломаются первокурснеком киберфака, не говоря уж о более квалифицированных специалистах.