Как перенести функции на сервер JS

177
27 марта 2018, 03:06

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

Answer 1

Ну, как вы правильно заметили тегом, есть еще вариант - обфускация. Но вариант, конечно, не идеальный. Он лишь усложнит пользователю задачу по поиску нужных формул (или чего-то еще) в вашем коде.

Чтобы js-код выполнялся на клиентской машине, логично, что его туда нужно отправить (и запустить). Не знаю, что у вас там за калькулятор такой...

Поэтому весь функционал, который может дать пользователю (при прямых руках последнего) больше полномочий, чем нужно, принято держать на сервере. Проще думать об этом так: клиент - ваш враг. Все, что по вашей неосторожности попало ему в руки, будет использовано против вас. Ведь почему в старых онлайн-играх можно было "читерить"? Потому что мощностей серверов не хватало на все действия, и игрок, к примеру, передвигался локально, а потом отсылал эти данные на сервер...

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

Что касается переноса - можно сделать запросами. А можно открывать WebSocket-соединение и общаться по нему (такое соединение не нужно закрывать после каждого запроса, там вообще нет запросов. По сокету можно отправлять и получать данные в реальном времени, и это будет работать быстрее, чем запросы.

Answer 2

Всю логику реализуешь на сервера, и все данные, которые "можно показывать" пользователю отправляешь по сети к клиентскому коду. Как уже было сказано, WebSocket или socket.io

READ ALSO
jquery собые по клику на внутренних ссылках

jquery собые по клику на внутренних ссылках

Есть див-обертка внутри куча li div aэто меню

201
Как перехватить нажатие клавиши в textarea?

Как перехватить нажатие клавиши в textarea?

У меня есть тег textarea, в котором пользователь должен менять заголовок страницыПри нажатии на ENTER будут происходить определённые действия,...

199
Пределы видимости переменной в js

Пределы видимости переменной в js

Здравствуйте, пишу REST API на expressjs вкупе с базой данных NeDB

181