В Python, если у вас есть программное обеспечение, у вас также есть исходный код.Даже если вы просто отправите байт-код, вы можете обмениваться вызовами (например, проверка лицензии или функциональность входа в систему).Поэтому сделать его безопасным с точки зрения файловой системы сложно.Вот почему в комментариях к вашему вопросу есть предложение разместить его за CGI-сервером, запрашивающим логин, чтобы пользователи не видели код.По сути, это будет означать предоставление общедоступного API, предоставляющего функциональность вашего программного продукта через веб-интерфейс.При этом легко ограничить доступ с помощью OAuth2 (например).
Если ваше программное обеспечение будет распространяться для локального исполнения на устройстве пользователя, задача усложняется.Кстати, также распространяя скомпилированный машинный код как результат реализации C ++, ваш пользователь может просматривать двоичные файлы с помощью инструментов и находить места, где вызываются библиотечные функции, чтобы подключить и изменить привязки для обхода вашего запроса на вход в систему.Поставленный код вряд ли когда-либо будет безопасным (просто подумайте обо всех взломах и взломах популярных игр).
Несколько хороших мыслей и идей скомпилированы здесь: Как защитить код Python?
Я думаю, что единственный способ действительно гарантировать, что ваш код скрыт, вам нужен какой-то общедоступный интерфейс с входом в систему, может быть, основанный на REST, gRPC и т. П., И только небольшой клиентприложение, которое может общаться с этим API и обслуживает функциональность, встроенную в устройство пользователя.Всегда генерируйте токены (например, используя pyJWT
) с ограниченным сроком действия и проверяйте каждый звонок / запрос, который вы получаете.Это подход SaaS, в котором вы также можете предоставить функциональность и ограничения скорости запросов на основе плана, забронированного пользователем.