ioncube что это такое

Установка ionCube в Ubuntu 16.04

ionCube – это модуль PHP, предназначенный для загрузки зашифрованных PHP-файлов и ускоряет загрузку веб-страниц, что необходимо для корректной работы многих PHP-приложений. Данное руководство поможет установить ionCube на сервер Ubuntu 16.04.

Требования

1: Выбор версии ionCube

Версия ionCube должна совпадать с версией PHP. Чтобы выбрать правильную версию ionCube, нужно знать:

Если у вас 64-битный сервер Ubuntu, то, скорее всего, PHP использует ту же архитектуру, но лучше это проверить. Для этого можно использовать сценарий PHP, который извлечёт информацию о текущих параметрах PHP.

Создайте файл info.php в корневом каталоге веб-сервера (по умолчанию это /var/www/html) с помощью текстового редактора.

sudo nano /var/www/html/info.php

Вставьте в него следующий код:

На экране появится страница с таким заголовком:

PHP Version 7.0.8-3ubuntu3

Ниже будет представлен список параметров PHP.

Как видите, версия PHP указана в самом заголовке. В данном случае используется версия 7.0.8. Обратите внимание на строку System. Если в конце этой строки вы видите x86_64, вы используете 64-битную версию PHP, а если i686, то 32-битную.

Теперь можно загрузить ionCube.

2: Установка ionCube

Посетите сайт ionCube и найдите ссылку на соответствующую версию пакета. В данном случае это 64-битный пакет Linux. Скопируйте ссылку на архив tar.gz и загрузите файл.

tar xvfz ioncube_loaders_lin_x86-64.tar.gz

Примечание: Версия может отличаться.

Эта команда создаст каталог ioncube, в котором хранятся разные файлы для разных версий PHP. В данном случае нужен файл для версии PHP 7.0, он называется ioncube_loader_lin_7.0.so. Этот файл нужно скопировать в каталог расширений PHP, extension_dir. Чтобы найти путь к нему, снова откройте страницу:

Путь к этому каталогу будет указан в строке extension_dir (в данном случае это /usr/lib/php/20151012). Скопируйте файл в указанное место:

sudo cp ioncube/ioncube_loader_lin_7.0.so /usr/lib/php/20151012/

Чтобы PHP-расширение загружалось, его нужно добавить в настройки PHP. Это можно сделать в конфигурационном файле php.ini, но лучше всё же создать отдельный файл для параметров расширения: так вы сможете загружать его раньше других расширений и избежать возможных конфликтов.

Чтобы узнать, где можно создать пользовательский конфигурационный файл, откройте страницу info.php:

Теперь нужно создать файл 00-ioncube.in в каталоге /etc/php/7.0/apache2/conf.d. Два нуля в начале файла позволяют загружать этот файл прежде других расширений PHP.

sudo nano /etc/php/7.0/apache2/conf.d/00-ioncube.ini

Добавьте в файл такую строку:

Сохраните и закройте файл.

Чтобы изменения вступили в силу, перезапустите веб-сервер:

# Apache:
sudo systemctl restart apache2.service
# Nginx:
sudo systemctl restart nginx

Также можно перезапустить php-fpm:

sudo systemctl restart php7.0-fpm.service

3: Тестирование ionCube

Вернитесь на страницу info.php:

Обновите её и найдите ключевое слово ionCube. Вы увидите:

[…] Zend engine v3.0.0. Copyright © 1998-2016 Zend Technologies
with the ionCube PHP Loader (enabled) + Instruction Protection from ioncube24.com […]

Это значит, что расширение ionCube загружено на сервер.

После установки ionCube страницу info.php нужно удалить: она открывает доступ к конфиденциальным данным сервера и подвергает его опасности.

sudo rm /var/www/html/info.php

Также вы можете удалить дополнительные файлы ionCube:

Расширение ionCube полностью готово к работе. Теперь вы можете использовать его для поддержки любого PHP-приложения, которому необходим этот модуль.

Источник

Как установить ionCube?

Зачем нужен ionCube и как проверить его наличие

ionCube — это популярный способ шифрования php-файлов. Он бесплатный, скачать его можно прямо с официального сайта. В JBZoo практически весь код открыт, за исключением мест проверки лицензии. Начиная с версии 2.0.0 для корректной работы JBZoo обязательна поддержка модуля ionCube Loader.

ionCube и хостинг

ioncube что это такоеНа большинстве современных хостингов ionCube уже есть, и его нужно только подключить простым щелчком мыши. В противном случае, вы можете задать вопрос в техподдержку хостера и практически всегда его включают по первому запросу.

Как самостоятельно проверить наличие ionCube?

Способ #1

Информация из функции phpinfo(). Создайте PHP-файл с функцией phpinfo(), залейте на сайте и перейдите на него в браузере.

ioncube что это такое

Способ #2

Запустите loader-wizard.php. Это официальный скрипт, который помогает определить текущую версию модуля, либо помочь в его установке. Если все хорошо, то вы увидите примерно следующую картину

ioncube что это такое

Способ #3

Установите JBZoo 2.0 +. Если приложение запустилось, то все в порядке. В противном случае вы увидите следующее

ioncube что это такое

Как самостоятельно установить модуль на свой сервер?

ioncube что это такоеСкачайте loader-wizard.php и запустите его на своем сайте. Следуйте советам мастера установки. Он поможет определить, какой именно файл нужно скачать (ориентированный именно на вашу версию PHP) и что с ним делать дальше.

Cкачать предложенный ZIP-архив.

Распаковать в папку, указанную в пункте 2.

Указать путь до этого файла в файле php.ini с помощью строки следующего типа.

ioncube что это такоеioncube что это такое

Внимание! Локальные сервера вроде Denwer и Open-Server зачастую имеют у себя в комплекте этот модуль. Поэтому перед установкой проверьте его присутствие.

Если после перезагрузки сервер не запускается, то скорее всего:

Источник

IonCube для начинающих. Ликбез. С чего начинается успешная защита php кода.

ioncube что это такое

sitecreator

Administrator

Автор: sitecreator.ru Просьба при перепечатке данного текста ссылаться на данную страницу форума с указанием автора.

Друзья, постараюсь рассказать максимально подробно о различных способах защиты вашего авторского кода на php от банального воровства и его распространения без вашего согласия. Также немаловажным мотивом для приведения в нечитаемый вид вашего программного кода может быть желание защитить вашу уникальную идею, реализованную в программе на языке php, от заимствования вашими конкурентами-программистами.

Одним из успешных инструментов для защиты вашего кода являются инструменты шифрования (кодирования) вашего кода от компании ionCube Ltd.
Файл с программным кодом после обработки ioncube-кодировщиком (encoder-ом) принимает непригодный для анализа человеком вид, т.е. бессмысленный для анализа набор символов, который ничего общего с программным кодом не имеет.

Чтобы такой зашифрованный (закодированный) код мог исполняться на сервере нужно чтобы для движка php было подключено расширение ioncube loader. У любого хостинг-провайдера на общем хостинге (виртуальный хостинг) всегда есть данное расширение для php и оно практически всегда включено по умолчанию. Обычно у пользователя хостинга есть возможность самостоятельно включать/отключать и выбирать версию ioncube loader-а для конкретной версии php. Всегда рекомендуется чтобы версия ioncube loader-а (ионкуб лоадера) была максимально актуальной (свежей) у вашего хостера. На сегодняшний день это версия 10+ (10.3.2 по состоянию на 2 января 2019-го).

Вы всегда можете проверить наличие ioncube в php если напишите простой код с функцией phpinfo(). Код выводит всю необходимую информацию. Включая версию лоадера.

Вас должна интересовать эта строка в выводе phpinfo():

Покажу фрагмент вывода:

ioncube что это такое

Зашифрованный ионкубом (ионкуб энкодером) код выглядит так:

ioncube что это такое

Просто мне так удобнее работать с консольными приложениями, т.к. после обновления программы мне не нужно думать о новых путях, по которым установилась программа, т.к. каждая новая версия обычно ставится по новому пути.
И вы можете просто запустить в консоли команду

Разумеется, если скопировали в эту папку файлы установленного ионкуба. Получите вывод информации о версии энкодера и поддержке php.

ioncube что это такое

ioncube что это такое

Есть много вкладок со всевозможными настройками.

ioncube что это такое

Вы всегда можете увидеть какая же командная строка была сформирована. И можете запустить ее при желании через Windows cmd или Windows PowerShell (который есть аналог cmd ). Для этого выбираете в меню пункт «View Encoder Command Line» (Показать командную строку для энкодера).

ioncube что это такое

Пример командной строки показан ниже.
Как вы можете видеть, то запускается консольная программа с параметрами. В данном случае это энкодер для php 7.1.
Т.е. вот эта программа: ioncube_encoder71.exe

ioncube что это такое

Если в вашем Open Server для конкретного php не подключено расширение ioncube loader, то сделайте это самостоятельно. правка производится в конфиге php.ini для конкретной версии php. Только не надо пытаться править файлы напрямую, делайте через меню Open Server.
Это делается так (откроется блокнот, после правок нажать «сохранить» и перезапустить Open Server):

ioncube что это такое

Если вы выбираете в настройках проекта (Project Settings) версию php 5.6, то закодированные (ioncube encoder-ом) файлы будут работать как под версией php 5.6, так и под версией 7.0. Не пытайтесь искать отдельно версию под 7.0, такой не существует.
Соответственно кодировку для указанных версий будет выполнять программа ioncube_encoder56.exe.

Также если файл закодирован программой ioncube_encoder71.exe, то этот файл будет запускаться как под php 7.1, так и под php 7.2. Если вы работаете в графическом интерфейсе (GUI), то выбираете в этом случае PHP 7.1.

Не могу рекомендовать выбирать режим «PHP 5.6 & 7.1«, т. к. наблюдал проблемы на ранних версиях ioncube loader-а 10. На более поздних проблем не замечал, но даже если вы укажите в требованиях использовать ioncube loader 10+, то не можете исключить ситуацию, что на сервере окажется одна из первых «10-к», которая не лишена некоторых багов.

ioncube что это такое

Выдержка из официальной документации:

Источник

Принципы работы и возможности утилиты IonCube

Инструмент для защиты программного обеспечения IonCube написан на языке PHP еще в 2002 году, но и до сегодня активно используется специалистами в области системного администирования.

ioncube что это такое

Принципы установки IonCube на сервер. Если Вы хотите установить библиотеку PHP на свой сервер, Вам понадобятся полные доступы к нему. Это без проблем можно сделать на выделенном сервере или услуги VPS. Но даже на некоторых виртуальных хостингах можно включить поддержку ionCube и выбрать версию Loader-а. На тарифах виртуального хостинга HyperHost данную функцию также можно включить в настройках PHP.

Для чего используют IonCube? Инструмент IonCube используют для разных целей, например, веб-студии могут использовать данную технологию для защиты своих PHP приложений от несанкционированного доступа к исходному коду. Много приложений требуют присутствие IonCube для корректной работы. Если вы купили скрипт, а он защищенный ioncube encoder’ом, то обратите внимание на наличие ioncube loader’а на виртуальном хостинге, которым Вы пользуетесь.

Модуль полностью бесплатный и скачать его можно с официального сайта ioncube.com. Данное ПО обеспечивает дешифрацию и эффективное выполнение откомпилированного и зашифрованного php кода.

Если Вы хотите защитить код от несанкционированного использования, рекомендуется самостоятельно установить IonCube на свой сервер (конечно же, это может сделать техподдержка хостинг-провайдера, у которого Вы держите сервер). Для установки IonCube следует проделать несколько несложных шагов.

После установки утилиты можно воспользоваться основными функциями IonCube : производение кодирования, обфускации и лицензирование исходного кода.

Среди недостатков стоит выделить отсутствие готовых генераторов ключей. Это требует создание своего собственного генератора и программного комплекса, который будет отвечать за множество функций. Например, за создание, хранение и учет этих же ключей.

Надеемся, Вы нашли ответы на интересующие вопросы в данной статье! Если понадобится дополнительная помощь или информация, обращайтесь в круглосуточную техподдержку Hyper Host™, мы всегда будем рады помочь!

Источник

Ликбез по IonCube

IonCube — это набор утилит для командной строки, которые позволяют производить кодирование, обфускацию и лицензирование исходного кода, написанного на языке php.
Функционал IonCube очень обширен что бы о нем можно было написать в одной статье. Под катом я опишу основной функционал IonCube, который необходим для защиты кода от не лицензионного использования.

Список понятий

1. Кодирование исходного кода — процесс при котором исходный код, написанный на языке php, превращается в набор машинных команд, чтение и декодирование которых максимально затруднено.

2. Обфускация — приведение исходного кода программы к виду, сохраняющему ее функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию.

3. Лицензия — это специальный, закодированный приватным ключом файл, который необходим для запуска закодированного исходного кода.

Необходимое ПО

1. IonCube Encoder — набор бинарных файлов для разных ОС, при помощи которых можно кодировать исходный код, производить его обфускацию и генерировать лицензии. Платное ПО, но можно скачать триал версию.

Кодирование и обфускация исходного кода

В зависимости от версии PHP под которую написан код, IonCube Encoder предоставляет следующие бинарные файлы для выполнения кодирования и обфускации: ioncube_encoder, ioncube_encoder5 или ioncube_encoder53
Формат команды следующий:

./ioncube_encoder –o [options]

Ниже я перечислю основные опции необходимые для кодирования и обфускации кода:

—replace-target — опция говорит енкодеру что надо полностью заменить целевой каталог или файл, если он уже существует, новым каталогом или файлом. Например:

—copy @ — опция говорит енкодеру что надо копировать указанный файл или каталог (и все его подкаталоги) без кодирования его содержимого. Знак @ говорит о том, что путь к копируемому файлу или директории надо искать от корня кодируемой директории. Т.е. если было указано копировать каталог configs, то будет копироватся только каталог configs котороый лежит в корне кодируемой директории, а не например в подкатегории example/configs. В качестве примера можно привести каталог где лежат конфигурационные файлы и которые кодировать не нужно:

—ignore @ — опция говорит енкодеру что надо игнорировать указанный файл или директорию (и все ее поддриректории), при этом в результирующий каталог они не копируются.

—obfuscate — запускает процесс обфускации кода, в качестве объектов, к которым применяется обфускация могут быть: functions, linenos, locals или all. Например:

—obfuscation-key «some_unique_key» — обязательный параметр для обфускации, который задает уникальный ключ, что делает практически невозможным процесс декодирования кода.

— опция говорит энкодеру, что файл при запуске должен запрашивать файл лицензии. Путь к файлу лицензии будет относителен запросившему его файлу, так что лучше здесь указывать просто название файла лицензии, который IonCube Loader будет искать сперва в том же каталоге, в котором находится скрипт, запросивший файл лицензии, а не найдя будет идти рекурсивно в верх вплоть до корневой директории. Таким образом файл лицензии можно сохранять просто в корневом каталоге, куда установлено ваше приложение. Например:

Создание лицензии

Лицензии создаются при помощи бинарного файла make_license. Формат команды для создания лицензии:

./make_license –-passphrase –o

—passphrase — эта опция задает секретный ключ, который используется для формирования подписи для лицензии. Внимание: ключ должен совпадать с ключем, который использовался при кодировании исходного кода.

Ограничение лицензии по серверам

—allowed-server [ ][@[ ]][< >] — эта опция используется для ограничения валидности лицензии по домену, IP или MAC адресу сервера, для которого она предназначена.

Примеры.
1. Ограничение по домену:
—allowed-server www.foo.com
—allowed-server www.foo.com,www.bar.com
—allowed-server 1.2.3.4@

2. Ограничение по IP адресу:

—allowed-server 192.168.1.4
—allowed-server 192.168.1.4,192.168.1.20

Примечания:
1. Когда закодированный файл запрашивается через web-сервер, то IP сверяется с тем IP, который присылает web-сервер.
2. Когда закодированный файл запрашивается на прямую, например когда имеем дело с php shell скриптами, то IP сравнивается только с первичным IP адресом сетевого интерфейса.
3. Нельзя указать в ограничении IP адрес 127.0.0.1

3. Ограничения по MAC адресу. MAC адрес должен состоять из 6-ти байт и должен быть представлен в шестнадцатеричном виде, например:

4. Комбинирование ограничений. IonCube позволяет комбинировать ограничения, например:

Ограничение лицензии по времени

— позволяет задать период, на протяжении которого с момента генерации лицензия является валидной. Периоды можно задавать в следующих величинах: секунды (s), минуты (m). часы (h) или дни (d). Например:

—expire-in 360s
—expire-in 20m
—expire-in 24h
—expire-in 365d

—expire-on — позволяет задать точную дату, до которой лицензия является валидной. Например:

Установка IonCube Loader

1. Скачайте IonCube Loader для вашей ОС, он распространяется бесплатно.

3. В вашем php.ini пропишите путь к скачаной библиотеке. Например:

zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.3.so
zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.3_ts.so
zend_extension_ts = /usr/local/ioncube/ioncube_loader_lin_5.2.so

Обратите внимание что для PHP версией меньше 5.3 нужно указывать директиву zend_extension_ts если в хотите использовать библиотеку с функционалом «thread safety».

4. Перезагрузите web-сервер.

Вот в принципе и все, что нужно знать для защиты своего кода от не лицензионного использования. Больше информации Вы сможете найти на официальном сайте IonCube.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *