GNU2 можно ли зашифровать часть компонента MODX?
Мы планируем выпустить компонент MODX Стоимостью 100-150т.р. Как говорили по GNU компонент нельзя шифровать, но думаю защита только транспортного пакета для такой суммы недостаточна.
Читаю GNU2:
Читаю GNU2:
Каждый раз, когда вы распространяете Программу (или любую работу, основанную на Программе), получатель автоматически получает лицензию от исходного лицензиара на копирование, распространение или изменение Программы в соответствии с настоящими условиями
Эта Стандартная общественная лицензия не разрешает включение вашей программы в проприетарные программы. Если ваша программа является библиотекой подпрограмм, вы можете посчитать более полезным разрешить связывать проприетарные приложения с библиотекой. Если это то, что вы хотите сделать, используйте Стандартную общественную лицензию меньшего применения GNU вместо этой лицензии.Ничего не понял. Здесь подразумевается, что распространение ПО модификация ПО по GNU2 нельзя шифровать? То есть компонент для MODX не содержит в себе каких-то компонентов MODX и соответственно может предоставляться нами без части исходников? MODX только фреймворк. Или это не правильно?
Поблагодарить автора
Отправить деньги
Комментарии: 16
думаю защита только транспортного пакета для такой суммы недостаточнаА что ещё, кроме транспортника, вы можете зашифровать?
Внести часть кода в exe или dll и вызовы функций из них делать. Я конечно еще такое не делал но думаю это возможно.
Внести часть кода в exe или dllЭто же расширения из Windows, причём тут Modx и его компоненты?
Я MODX на винде юзаю по большей части. Просто не знаю как бинарники в Ubuntu называются. В общем можно скомпилировать исходники и через shell_exec в php вызавать. Хотя конечно изврат.
Шифрование исходного кода PHP может быть полезно для защиты интеллектуальной собственности или предотвращения несанкционированного доступа к коду. Однако стоит учитывать, что полная защита исходного кода невозможна, так как PHP выполняется на стороне сервера, и расшифрованный код должен быть доступен для интерпретатора. Тем не менее, вот несколько способов, которые могут помочь затруднить чтение исходного кода:
1. Использование инструментов для обфускации кода
Обфускация — это процесс преобразования исходного кода в трудночитаемую форму, сохраняя его функциональность. Существуют инструменты, которые могут обфусцировать PHP-код:
PHP Obfuscator: Инструменты вроде PHP Obfuscator или ionCube PHP Obfuscator могут преобразовать код в нечитаемый вид.
YAK Pro: Бесплатный инструмент для обфускации PHP-кода.
Пример использования:
Эти коммерческие инструменты позволяют зашифровать PHP-код и запускать его с помощью специального расширения на сервере.
Этот метод не является надежным, но может затруднить чтение кода. Код кодируется в base64, а затем декодируется и выполняется с помощью eval.
Пример:
Вы можете написать собственный алгоритм шифрования и расшифровки кода. Однако это требует глубоких знаний в криптографии и может быть ненадежным.
Пример:
Вы можете написать собственное PHP-расширение на C, которое будет содержать зашифрованный код. Это требует навыков программирования на C и работы с PHP API.
Важные замечания:
1. Использование инструментов для обфускации кода
Обфускация — это процесс преобразования исходного кода в трудночитаемую форму, сохраняя его функциональность. Существуют инструменты, которые могут обфусцировать PHP-код:
PHP Obfuscator: Инструменты вроде PHP Obfuscator или ionCube PHP Obfuscator могут преобразовать код в нечитаемый вид.
YAK Pro: Бесплатный инструмент для обфускации PHP-кода.
Пример использования:
php yakpro-po.php your_script.php -o obfuscated_script.php
2. Шифрование с помощью ionCube или Zend GuardЭти коммерческие инструменты позволяют зашифровать PHP-код и запускать его с помощью специального расширения на сервере.
- ionCube: Шифрует код и требует установки ionCube Loader на сервере.
- Zend Guard: Аналогично ionCube, шифрует код и требует Zend Optimizer.
ioncube_encoder your_script.php -o encrypted_script.php
3. Использование base64_encode и evalЭтот метод не является надежным, но может затруднить чтение кода. Код кодируется в base64, а затем декодируется и выполняется с помощью eval.
Пример:
<?php
$code = '<?php echo "Hello, World!"; ?>';
$encoded = base64_encode($code);
eval(base64_decode($encoded));
?>
4. Самописное шифрованиеВы можете написать собственный алгоритм шифрования и расшифровки кода. Однако это требует глубоких знаний в криптографии и может быть ненадежным.
Пример:
<?php
function encrypt($code, $key) {
return openssl_encrypt($code, 'AES-128-CBC', $key);
}
function decrypt($encrypted, $key) {
return openssl_decrypt($encrypted, 'AES-128-CBC', $key);
}
$code = '<?php echo "Hello, World!"; ?>';
$key = 'your_secret_key';
$encrypted = encrypt($code, $key);
eval(decrypt($encrypted, $key));
?>
5. Использование PHP-расширенийВы можете написать собственное PHP-расширение на C, которое будет содержать зашифрованный код. Это требует навыков программирования на C и работы с PHP API.
Важные замечания:
- Производительность: Шифрование и расшифровка кода могут замедлить выполнение скрипта.
- Безопасность: Ни один метод не обеспечивает 100% защиту. Злоумышленник с достаточными знаниями и временем может декомпилировать или расшифровать код.
- Лицензирование: Убедитесь, что использование инструментов шифрования соответствует лицензионным соглашениям
Как то видел эти советы. Стоит ли шифровать или что-то друое стоит подумать.
Здесь вопрос GNU запрещает шифровать компоненты для MODX или GNU запрещает шифровать модифицированную версию MODX? То есть изменил MODX и стал распространять (продавать) модифицированную версию зашифрованную. Это явно запрещено. А вот шифрование компонентов для MODX не понятно. Лицензия требует предоставлять исходный код основанный на MODX. Это как понимать? Как код включающий код MODX? Или как код использующий инструменты MODX. Как GNU трактуют для кода фреймворков?
Здесь вопрос GNU запрещает шифровать компоненты для MODX или GNU запрещает шифровать модифицированную версию MODX? То есть изменил MODX и стал распространять (продавать) модифицированную версию зашифрованную. Это явно запрещено. А вот шифрование компонентов для MODX не понятно. Лицензия требует предоставлять исходный код основанный на MODX. Это как понимать? Как код включающий код MODX? Или как код использующий инструменты MODX. Как GNU трактуют для кода фреймворков?
Вопрос о шифровании компонентов для MODX и модифицированных версий MODX связан с интерпретацией лицензий GNU, в частности GNU GPL (General Public License), под которой распространяется MODX.
1. Модифицированная версия MODX
Если вы модифицируете исходный код MODX и распространяете (или продаете) эту модифицированную версию, то лицензия GNU GPL требует, чтобы вы предоставили исходный код модифицированной версии. Шифрование модифицированной версии MODX явно нарушает это требование, так как лицензия GPL требует, чтобы исходный код был доступен для всех, кто получил модифицированную версию.
2. Шифрование компонентов для MODX
Компоненты для MODX (например, плагины, сниппеты, модули) могут рассматриваться как производные работы, если они напрямую используют или модифицируют код MODX. В этом случае они также подпадают под действие лицензии GPL, и их исходный код должен быть предоставлен.
Однако, если компонент является самостоятельным программным обеспечением, которое лишь взаимодействует с MODX через API или другие интерфейсы, не включая и не модифицируя исходный код MODX, то он может не подпадать под требования GPL. В этом случае шифрование такого компонента может быть допустимым, но это зависит от конкретных обстоятельств и интерпретации лицензии.
3. Код, включающий код MODX
Если ваш код включает или модифицирует исходный код MODX, то он считается производной работой и должен распространяться под той же лицензией GPL с предоставлением исходного кода.
4. Код, использующий инструменты MODX
Если ваш код лишь использует API или другие инструменты MODX, не включая и не модифицируя его исходный код, то он может не подпадать под требования GPL. В этом случае шифрование такого кода может быть допустимым.
5. Интерпретация для фреймворков
Для фреймворков, распространяемых под лицензией GPL, обычно применяются те же принципы. Если ваш код является производной работой (включает или модифицирует код фреймворка), то он должен распространяться под GPL с предоставлением исходного кода. Если же ваш код лишь использует API или интерфейсы фреймворка, не включая его код, то он может не подпадать под требования GPL.
1. Модифицированная версия MODX
Если вы модифицируете исходный код MODX и распространяете (или продаете) эту модифицированную версию, то лицензия GNU GPL требует, чтобы вы предоставили исходный код модифицированной версии. Шифрование модифицированной версии MODX явно нарушает это требование, так как лицензия GPL требует, чтобы исходный код был доступен для всех, кто получил модифицированную версию.
2. Шифрование компонентов для MODX
Компоненты для MODX (например, плагины, сниппеты, модули) могут рассматриваться как производные работы, если они напрямую используют или модифицируют код MODX. В этом случае они также подпадают под действие лицензии GPL, и их исходный код должен быть предоставлен.
Однако, если компонент является самостоятельным программным обеспечением, которое лишь взаимодействует с MODX через API или другие интерфейсы, не включая и не модифицируя исходный код MODX, то он может не подпадать под требования GPL. В этом случае шифрование такого компонента может быть допустимым, но это зависит от конкретных обстоятельств и интерпретации лицензии.
3. Код, включающий код MODX
Если ваш код включает или модифицирует исходный код MODX, то он считается производной работой и должен распространяться под той же лицензией GPL с предоставлением исходного кода.
4. Код, использующий инструменты MODX
Если ваш код лишь использует API или другие инструменты MODX, не включая и не модифицируя его исходный код, то он может не подпадать под требования GPL. В этом случае шифрование такого кода может быть допустимым.
5. Интерпретация для фреймворков
Для фреймворков, распространяемых под лицензией GPL, обычно применяются те же принципы. Если ваш код является производной работой (включает или модифицирует код фреймворка), то он должен распространяться под GPL с предоставлением исходного кода. Если же ваш код лишь использует API или интерфейсы фреймворка, не включая его код, то он может не подпадать под требования GPL.
ЭЭЭ… что-то ответ похож на chatGPT. Вы из него скопировали?
Да. Но это грамотный ответ мнение, с которым я согласен
Человек бы попытася что-то определенное сказать. Либо можно либо нельзя. А chatGPT выразился в общем. Четкого ответа что компоненты для MODX можно шифровать нет. Человек понимает, что компоненты MODX не включают в себя код MODX. Код MODX компонентом никак не модифицируется. А chatGPT этого не понимает.
Хотя плагин на события модифицирует поведение MODX, но в себе кода MODX так то не содержит. Только API вызывает.
Хотя плагин на события модифицирует поведение MODX, но в себе кода MODX так то не содержит. Только API вызывает.
Мы планируем выпустить компонент MODX Стоимостью 100-150т.р.А если не секрет, что за дополнение такое планируется, за такую стоимость? Очень заинтриговали))
У нас производственная компания и у нас 200 товаров и 10 000 000 модификаций на каждый. Мы написали (в смысле я) расчетную форму на MODX для такого кол-ва модификаций. Делали как универсальный компонент для множества таких производственных компаний. Она получилась сложной и потратили мы на нее около 1,5 миллиона. Расчетная форма готова, а планируется добавить к ней интернет-магазин, чтобы пользователи на сайте могли рассчитывать товары, компонент производство для распределения заказов по сменам и нарядам цеха. Компонент склада и в общем все то что надо для управлением производством.
Похожее ПО на 1С только для вентиляции стоит 150т.р. А похожие онлайн сервисы берут по 10т.р. с пользователя в месяц.
Вообще рекомендуют выпускасть минимально рабочий вариант ПО и меня терзают сомнения, до какой части реализации дойти и какую часть реализации выпустить :-(. Расчетная форма с админкой для инженеров ИТР, с перерывами, делалась 2 года. Пока планирую добить до интернет магазина и выкладывать здесь. Но еще что директор скажет и как решим вопрос с защитой ПО…
Похожее ПО на 1С только для вентиляции стоит 150т.р. А похожие онлайн сервисы берут по 10т.р. с пользователя в месяц.
Вообще рекомендуют выпускасть минимально рабочий вариант ПО и меня терзают сомнения, до какой части реализации дойти и какую часть реализации выпустить :-(. Расчетная форма с админкой для инженеров ИТР, с перерывами, делалась 2 года. Пока планирую добить до интернет магазина и выкладывать здесь. Но еще что директор скажет и как решим вопрос с защитой ПО…
Привет! Тоже интересуюсь этой темой, заинтересовал твой коммент:
Нам нужен профсоюз! :))
P.S. Я не могу сменить свою оценку в твоем посте про ИИ когда она скрыта. Являясь местным активистом, всё-таки я не админ здешнего форума и к скрытым заметкам доступа у меня нет.
Вообще рекомендуют выпускасть минимально рабочий вариант ПО и меня терзают сомнения, до какой части реализации дойти и какую часть реализации выпуститьА кто-где рекомендует? Я бы изучил мат. часть, потому что тоже планирую несколько релизов, но слабо разбираюсь в выпуске ПО на продажу, делая уже много лет типа «заказного ПО». Дай каких-нибудь ссылок на то, где ты это вычитал, плиз.
Нам нужен профсоюз! :))
P.S. Я не могу сменить свою оценку в твоем посте про ИИ когда она скрыта. Являясь местным активистом, всё-таки я не админ здешнего форума и к скрытым заметкам доступа у меня нет.
Пока что по теме кажется что только обфускация будет 100% рабочим решением, если не повышать требования к хостингу. А если повышать, то мне кажется проще клиент-серверную архитектуру реализовать и всю бизнес-логику положить в сервер а на MODX сделать клиент, и распространять (продавать) сервер как docker-контейнер, в котором вообще весь код логики хоть в ioncube хоть в zend, зашифровать, хоть в бинарник вместе с веб-сервером скомпилить.
Это похоже на более-менее future-proof решение, а докер есть сейчас ну почти на любой микроволновке :) ну и его при таком подходе заменить можно на чисто по API работающее нечто своё. Короче, открывается масса прекрасных возможностей. Хотелось бы твоё мнение на этот счет. Особенно после запуска FacetSearch я думаю некоторый опыт уже сложился у нас, надо его использовать!
Это похоже на более-менее future-proof решение, а докер есть сейчас ну почти на любой микроволновке :) ну и его при таком подходе заменить можно на чисто по API работающее нечто своё. Короче, открывается масса прекрасных возможностей. Хотелось бы твоё мнение на этот счет. Особенно после запуска FacetSearch я думаю некоторый опыт уже сложился у нас, надо его использовать!
Особенно после запуска FacetSearch я думаю некоторый опыт уже сложился у нас, надо его использовать!FacetSearch так то провалился. Не хватило времени и желания довести его до ума. Но опыт сервиса есть :-).
Часть компонента думаю сделать как сервис. Алгоритм расчета товара. Но один трабл есть. Со связанными товарами на сервис нужно отправлять всю базу товаров, чтобы алгоритм связанные товары вытащил. Что неудобно пользователям. А делать весь компонент сервисом другой трабл. Часть компонента юзерам надо модифицировать под себя. Например дизайн интернет магазина и отчеты.
А кто-где рекомендует? Я бы изучил мат. часть, потому что тоже планирую несколько релизов, но слабо разбираюсь в выпуске ПО на продажу, делая уже много лет типа «заказного ПО». Дай каких-нибудь ссылок на то, где ты это вычитал, плизЗдесь вычитал.
Как создать ИИ-бота с помощью нейросетей за месяц и привлечь инвестиции. История Daria AI
Я не могу сменить свою оценку в твоем посте про ИИ когда она скрыта.Сейчас статья на хабре. И у меня были сильно завышенные ожидания от этой темы. Потихоньку ее делаю, но врядли что-то супер супер получиться.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.