Как защитить код от просмотра?

Здравствуйте! В скором времени мне нужно будет реализовать один проект. Игра на игровую валюту на сайте. Для примера возьмём коинфлип. Я собирался сделать на JS вычисления рандома в диапазоне двух чисел, и при помощи if выводить результат о проигрыше, либо выигрыше. Но тут назрел вопрос, как мне сделать так, что бы пользователь при помощи F12 не увидел как происходят вычисления, какой диапазон рандома, начисление баланса и прочее. Какими способами можно скрыть все вычисления? Может быть вычисления на сервере? Но как тогда подключить его к сайту, без возможности просмотра?
  • Вопрос задан
  • 806 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега Веб-разработка
{PHP, MySql, HTML, JS, CSS} developer
Я собирался сделать на JS вычисления рандома в диапазоне двух чисел, и при помощи if выводить результат о проигрыше, либо выигрыше.
Глупость кнечно, все что находится на строне клиента может (и будет) скомпрометировано и извращено.

Может быть вычисления на сервере?
Бинго!

Но как тогда подключить его к сайту, без возможности просмотра?
На сервере по команде выполняется код, его реализация не будет видна пользователю, у вас будет только запрос с публичными данными и ответ с готовым результатом. Так что сильно шифровать там нечего.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Zoominger
@Zoominger Куратор тега Веб-разработка
System Integrator
Что юзер не должен видеть, следует выносить на сторону сервера. В чём проблема-то реализовать эту функцию в бэкенде, а на страницу высунуть API?
Ответ написан
samodum
@samodum
Какой вопрос - такой и ответ
Всё надо выносить в бэкенд и обращаться через API.
На стороне фронта на 100% защитить код невозможно по определению, т.к. весь код на клиенте и в полном распоряжении пользователя. Можно только усложнить чтение кода через обфускацию, которая остановит 80% любопытных. Но особо упорных это не остановит.
Ответ написан
Комментировать
@lwakis
Например:
Использовать веб-сокеты.
Использовать крипторы.
Сделать обфускацию кода.

Подробнее тут
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы