ioncube - это некий способ защиты исходного кода модуля. Но так ли он хорош и есть ли в нем необходимость?
К сожалению в наших широтах нет понятия авторского права и его никто не соблюдает.
Что же делать, и как защитить годы работы над модулем от пиратства? Все просто - кодировать код с помощью ioncube, то есть "закубить".
Да, ведь это решение проблемы, но не все так просто и ванильно.
Дело в том что когда мы кубим модуль исходный код превращается в набор символов и что-либо поменять там невозможно.
Вот оно счастье! Функционал проверки лицензии никто теперь не хакнет. Но, как всегда есть но, и не одно.
Почему не стоит использовать ioncube
1) Это не защита от пиратства, разве что только от мамкиных хацкеров.
Дело в том что ioncube можно раскодировать и те кто занимается взломами модулей делают это легко. Толку от такой защиты нет. Да, школьники которые за пару долларов "делают сайты" под ключ конечно не ломанут модуль, но им ничего не стоит найти его уже взломанным на варезе. Понимаете суть - тот кто изначально не нацелен покупать, он не купит.
Делайте модули которые хочется покупать. Ставьте адекватный ценник, оказывайте хорошую поддержку. По сути модуль это программная база, но когда человек покупает его он в первую очередь покупает поддержку - это очень важно понимать.
2) При любом шорохе у покупателя автоматически будут проблемы!
Уважайте своих клиентов. Жизнь магазина зачастую достаточно динамична. Владелец может сменить хостинг, версию php и получить на сайте проблемы. Ему нужно будет вспоминать где и когда он покупал модуль, у кого, и на что именно ругается. Сменили php - надо загружать отдельный дистрибутив под ту версию что у вас. Автор может уйти в загул или быть занятым для оперативного ответа. Также многие разработчики делают обновления достаточно сложными и для получения модуля нужно предьявить чуть ли не паспорт. Номер счета или место покупки могут и не помнить - это нормально.
3) Поменять/доработать ваш код нет возможности - это сильно усложняет жизнь коллегам и владельцам сайтов
Буквально вчера мне нужно было подружить мой модуль с другим, который меняет цены. Ок, зашел в код того модуля посмотреть какие данные нужны его функции и увидел там набор символов… Без кодировки моя работа бы заняла 2 минуты. С кодировкой пришлось подставлять данные и смотреть на ошибки, то есть работать в слепую. Итого минут 20-30 у меня ушло. (В такой ситуации еще легко все прошло) Вы думаете там модуль с мега функционалом или с алгоритмами которые уведут из-за уникальности? Не думаю, там просто подсчет чисел (+/- от цены, ну и проценты).
Владельцам еще веселее. Допустим есть 2 модуля, их нужно подружить. Коды закрытые у обеих. Авторы как всегда загруженные и не делают такого. Можно найти человека который смог бы сделать связь модулей за пару часов. Но засада, исходники под кубом и ничего сделать невозможно. Приходится делать либо кастом в разы дороже модуля (если не в десятки), либо через костыли что-то мастерить. Как вы понимаете подход так себе.
4) Скрытый код - возможные проблемы безопасности
Когда в модуле открытый код многие коллеги туда заходят посмотреть или поправить что-то под заказчика. Так вот одна голова хорошо, но фидбек от коллег еще лучше. К чему я. Вот сделали вы модуль, ок, но где-то ошиблись и допустили баг(и). Сами в силу загрузки или опыта не можете их выявить, но их может увидеть другой разработчик и вам об этом сообщить. Когда приходят багрепорты вы их можете фиксить тем самым улучшить модуль.
Также сами авторы, как уже упоминал, всегда загружены. А покупателю нужно в модуле что-то поменять или доработать. В закодированном варианте у покупателя есть закрытое решение и все. Когда модуль открыт его доработать может любой другой человек без привязки к автору.
Не стоит забывать что магазин это бизнес и в нем должно быть все безопасно. Код модуля под кубом нельзя просмотреть и сказать что в нем. А там может быть дыра, или же критическая ошибка, или же специально оставленный автором "ход" для контроля или еще чего-либо. То есть владелец сайта просто не знает что у него в магазине, плохо спит из-за чего качество его жизни стало хуже. А причина в этом ioncube.
------------------------------
Все это мое личное мнение и мои наблюдения за года работы с магазинами. Может что забыл, вспомню - дополню.
Буду рад обсуждениям, дополнениям и конструктивной критике. И как было написано что одна голова хорошо, а мнение коллег еще лучше