Я пытаюсь защитить свой код JavaFX, помимо кода ProGuard. Я понимаю, что любой код, который пользователь имеет в своем распоряжении, является честной игрой. Это означает, что мне нужно переместить всю мою чувствительную бизнес-логику на сервер, который можно уверенно защитить.
Из-за моего ограниченного опыта на стороне сервера я ищу объяснение / пример того, как развивать клиент-серверное соединение, чтобы оно было безопасным и достаточно быстрым. Моя основная путаница связана с тем, что требуется в клиентском коде, например, инициализация сервера и запросы get
/ put
(?), А также какие файлы или код я помещаю на сервер (и где).
Я привел 3 приведенных ниже цитаты из соответствующих ответов, чтобы получить некоторые сведения. Посты соответственно находятся здесь , здесь и здесь . В первом говорится:
мы «защищаем» наше программное обеспечение, участвуя в вычислении на стороне сервера: у нас есть несколько .class, которые не будут работать, если они не сгенерированы с серверной стороны, и мы отправляем их по кабелю (и то, что отправлено на провод всегда разный: мы генерируем уникальные одноразовые файлы .class на стороне сервера).
Это позволяет генерировать целые файлы классов на стороне сервера. Некоторые из моих классов, которые я хотел бы полностью использовать на сервере, но многие файлы классов содержат только методы, которые чувствительны и должны быть основаны на сервере. Второе звено:
Перенесите наиболее важные части службы из приложения и в веб-службу, скрытую за языком на стороне сервера, например PHP. Переместите алгоритм и обработайте данные на удаленном сервере и используйте приложение, чтобы просто предоставить ему данные.
Это кажется более согласованным с моими намерениями, но я смущен, как выполнять эти функции «перемещения» и «обработки». Я просто заменяю чувствительные вызовы методов / классов на запросы get () на сервер, который находится за SSL-соединением, предоставляемым любым базовым сервером? Можете ли вы найти соответствующий полный пример?
Третья цитата:
Настройте сервер, который отвечает на запросы вашего приложения, «использует» активы (что бы это ни значило), а затем отправляет результат обратно в приложение.
Еще раз, пример того, как «запрашивать», «использовать» и «отправлять» целые методы / классы в контексте JavaFX, был бы превосходным. Я готов читать весь день, мне просто нужно руководствоваться этим первоначальным шагом, поэтому я начинаю с правильного основания.