Установка и включение IonCube в PHP на хостинг
IonCube — это набор утилит для командной строки, которые позволяют производить кодирование, обфускацию и лицензирование исходного кода, написанного на языке php.
Термины:
- Кодирование исходного кода — процесс при котором исходный код, написанный на языке php, превращается в набор машинных команд, чтение и декодирование которых максимально затруднено.
- Обфускация — приведение исходного кода программы к виду, сохраняющему ее функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию.
- Лицензия — это специальный, закодированный приватным ключом файл, который необходим для запуска закодированного исходного кода.
Необходимое программное обеспечение:
- IonCube Encoder (платная программа) — набор бинарных файлов для разных операционных систем, при помощи которых можно кодировать исходный код, производить его обфускацию и генерировать лицензии.
- IonCube Loader (IonCube Загрузчик) (бесплатное ПО) — поставляется в виде .so или .dll библиотеки, необходим для декодирования исходного кода закодированного при помощи IonCube Encoder.
Как скачать IonCube Loader
Скачать IonCube Loader (IonCube Загрузчик) и прочитать англоязычную документацию можно на официальном сайте по ссылке https://www.ioncube.com/loaders.php.
Перед установкой IonCube PHP Loader необходимо собрать информацию о программном обеспечивании в котором планируется его запуск. Выясним разрядность операционной системы, где х86_64 - значит 64-х битная ОС, i386 - 32-х битная ОС.
uname -a Linux dieg.info 5.13.0-40-generic 45-Ubuntu SMP Tue Mar 29 14:48:14 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Исходя из полученных результатов - определяем разрядность системы. В показанном примере система является 64-разрядной. Основываясь на этой информации, качаем установочный архив IonCube Loader с официального сайта. Для этого подключитесь к VPS по SSH с правами суперпользователя (root) и воспользуйтесь командой wget:
Для 32-разрядных систем:
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
Для 64-разрядных систем:
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
Распакуем скаченный файл в директорию /usr/local
tar xzf ioncube_loaders_lin_x86-64.tar.gz -C /usr/local
В дальнейшем, из созданной директории /usr/local/ioncube, нас будут интересовать 2 файла ioncube_loader_lin_[номер версии].so и ioncube_loader_lin_[номер версии]_ts.so.
Как выяснить версию PHP, установленного на вашем сервере
Сейчас на серверах одновременно установлены несколько версий PHP. Вы должны определиться в какую версию PHP вы будите устанавливать IonCube Loader.
Важно найти правильный файл конфигурации php (php.ini), поскольку у Вас в системе может быть несколько таких файлов. Нам нужно включить ionCube только в действующем (активном) файле. Команда php -i предоставляет подробную информацию об активной версии php в интерфейсе командной строки:
$ php -i | grep php.ini Configuration File (php.ini) Path => /etc/php/7.4/cli Loaded Configuration File => /etc/php/7.4/cli/php.ini
Строки, что мы видим Выше говорят нам о том, что искомый файл находится по пути /etc/php/7.4/cli/php.ini.
По умолчанию PHP хранит файлы конфигурации в следующем месте. Например, файлы конфигурации для PHP 7.4 хранятся в следующих папках:
- /etc/php/7.4/cli/php.ini # для PHP CLI
- /etc/php/7.4/fpm/php.ini # для PHP FPM
- /etc/php/7.4/apache/php.ini # для PHP с Apache
Настройка загрузчика ionCube в PHP
Теперь отредактируйте необходимые файлы конфигурации PHP или вы можете обновить все файлы конфигурации, найденные выше. Добавьте приведенный ниже код в начало файла php.ini в зависимости от вашей версии PHP:
zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.4.so #zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.4_ts.so
Число в имени файла соответствует версии PHP, для которой он собран, а _ts это Thread Safe версии. Зачастую используют обычную версию 7.4.so (не Thread Safe).
После внесения указанных строк необходимо сохранить их в файле и выйти из редактора.
После сохранения изменений в конфигурационном файле, потребуется перезапуск веб-сервера (Apache, PHP-FPM) для того, чтобы внесенные изменения вступили в силу. Для этого введите следующие команды:
systemctl restart apache2 systemctl restart php7.4-fpm.service
Проверка конфигурации ionCube PHP
Вы добавили настройки ionCube в свою конфигурацию php. Чтобы проверить конфигурацию, введите команду:
$ php -v PHP 7.4.8 (cli) (built: Jul 13 2020 16:46:22) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with the ionCube PHP Loader + ionCube24 v10.4.1, Copyright (c) 2002-2020, by ionCube Ltd. with Zend OPcache v7.4.8, Copyright (c), by Zend Technologies
Видим, что загрузчик PHP ionCube настроен для вашей версии PHP. Точно так же для просмотра конфигурации Apache используйте файл с командой phpinfo().
Еще одна проверка, при помощи команды:
php –m [PHP Modules] ... iconv ionCube Loader json libxml mbstring ...
можно получить список подключенных модулей PHP, среди которых должен быть и IonCube.
Установка IonCube Loader завершена!
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах