Online кодирование (шифрование) IonCube

Online кодирование IonCube.

ionCube online Encoder

 

 Создание проекта для online кодирования файлов с помощью программного обеспечения IonCube.

 

Для online кодирования проектов предназначен плагин системы Lictrade «Шифрование проектов IonCube».

Для доступа к нему вызовем пункт меню Система -> Шифрование проектов организации.

 

 

 

 

 

 

 

 

 

 

Создадим новый проект нажатием на кнопку «Новый проект»:

 

 

В диалоговом окне, состоящем из нескольких вкладок, потребуется внести данные проекта:

 

 

 

 

 

 

Рассмотрим параметры более детально:

Закладка «Основные»:

Параметр

Описание

Наименование проекта

Удобочитаемое наименование, которое будет отображаться в таблице (списке проектов)

Формат кодирования файла

Формат файла на выходе, после кодирования.

Уровень обфускации

Уровень обфускации:

all — полный, всех функций, переменных и так далее.

Lines,function — только функции

Ключ обфускации

Ключ, на основе которого будет производится обфускация

Проверка корректности лицензии

Auto — автоматически при запуске на исполнения скрипта.

Script — скриптом, внутри кода, ответственность за проверку берёт на себя программист.

Оптимизация работы

Оптимизация скорости исполнения и размера байт кода.

Max — оптимизация максимально возможная.

More — по доп. параметрам.

Установить количество дней работы

Устанавливается в виде ХХХТ, где

T — единица времени ( s — секунды, m — минуты, h — часы, d — дни), а XXX количество единиц времени с момента кодирования проекта, по прошествии которых байт код перестанет выполняться.

 

Например:

17d — код будет в рабочем состоянии 17 дней.

24h — код будет в рабочем состоянии 24 часа.

 

Установить дату окончания лицензии

Дата в формате yyyy-mm-dd, где yyyy — год в полном формате 0000 - 9999, mm месяц в формате 00-12, dd — дни в формате 00-31.

Сервер (ip,domain,MAC), для которого производится дистрибутив

Строка, позволяющая однозначно определить сервер, для которого создан дистрибутив. И только на этом сервере скрипт будет корректно работать.

Например:

Доступ только в домене www.foo.com:

www.foo.com

Доступ в доменах www.foo.com и www.bar.com:

www.foo.com,www.bar.com

Доступ в доменах с ip адресом 1.2.3.4:

@1.2.3.4

Формат строки:

--allowed-server [<domain names>][@[<IP addresses>]][{<MAC address>}]

 

Wildcard Character

Matches

*

Zero or more characters, e.g. *.foo.com

?

Any single character, e.g. site?.foo.com

[]

Any character from a set, e.g. site[123].foo.com

[!]

Any character not in the set, e.g. site[!89].foo.com

Имя и путь к файлу лицензии

В случае использования ключа (лицензии) требуется указать по какому пути следует искать файл лицензии, а так же имя файла лицензии. Применяется обычно относительный путь от исполняемого файла, например, если index.php находится в каталоге /www/html/

и вы хотите положить в этот же каталог файл лицензии, то можно воспользоваться просто именем файла без пути, для примера traffpro.lic.php в проекте http://www.traffpro.ru находится именно в корне web части системы и по этому легко доступен для всех кодированных страниц.

Секретная фраз для генерации ключей

Секретная фраза на основании которой будет кодироваться проект, при генерации ключа (лицензии) к проекту следует указать точно такую же фразу, в этом случае при помещении ключа в путь указанный в «Путь и имя к файлу лицензии» проект становится доступен клиенту, так же не стоит забывать, что для разных проектов фраза должна быть разной, иначе ключ от одного проекта будет подходить к другому проекту .

Сообщение, если не загружен Ioncube Loader

Собственное сообщение, которое необходимо вывести пользователю, если не загружен или не установлен Ioncube loader

Действие, если не загружен Ioncube Loader

Собственное действие (php исполняемый код), которое необходимо вывести пользователю, если не загружен или не установлен Ioncube loader

Комментарий добавляемый в файл

Комментарий, который не кодируется в файле, например, информация о разработчике, версия, дата выпуска и т.д.

События

Собственные или предустановленные константами действия, смотрите приложение 1.

 

Параметры

Параметры передаваемые скриптам, а так же защищающие от атак на ключи.

(В случае LicTrade было принято решение объеденить простые и проверяемые параметры в единое целое и после внесения параметра выводить одновременно и --property "<name>[=<value>]" и --include-if-property "<name>=[<value>][, ...]"

 

В связи с этим существует только одна вкладка параметров)

 

параметр это имя параметра и значение.

Например

имя — version

значение — v-0.0.1-25

 

 

 

 

Приложение 1:

 

 

Event Type

Triggered When...

corrupt-file

An encoded file has been corrupted.

expired-file

An encoded file has reached its expiry time.

no-permissions

An encoded file has a server restriction and is used on a non-authorised system.

Clock-skew

An encoded file is used on a system where the clock is set more than 24 hours before the file was encoded.

untrusted-extension

An encoded file was encoded with the --disallow-untrusted-extensions option, see 3.12 below, and is used on a system with an unrecognised extension installed.

license-not-found

The license file required by an encoded script could not be found.

license-corrupt

The license file has been altered or the passphrase used to decrypt the license was incorrect.

license-expired

The license file has reached its expiry time.

license-property-invalid

A property marked as ‘enforced’ in the license file was not matched by a property contained in the encoded file.

license-header-invalid

The header block of the license file has been altered.

license-server-invalid

The license has a server restriction and is used on a non-authorised system.

unauth-including-file

The encoded file has been included by a file which is either non-encoded or has incorrect properties.

unauth-included-file

The encoded file has included a file which is either non-encoded or has incorrect properties.

unauth-append-prepend-file

The php.ini has either the --auto-append-file or --auto-prepend-file setting enabled.

 

 

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

 

 

 

 

которая вызовет пошаговый мастер кодирования.

 

Первым шагом будет выбор архива с файлами для кодирования, архив должен быть упакован с помощью архиватора ZIP.

 

После успешной загрузки будет представлен отчёт о загрузке и список файлов которые были загружены.

 

Следующим шагом будет создание файла проекта IonCube, система автоматически генерирует проектный файл и предоставляет его содержимое для просмотра и контроля корректности параметров перед основным этапом кодирования файлов.

 

 

 

Следующим шагом будет непосредственно кодирование файлов, процесс проходит без участия оператора. По окончанию кодирования становится доступна кнопка «Далее», а так же предоставляется текстовый лог кодирования.

 

Последним этапом будет получение архива с закодированным проектом.

 

Требуется нажать на ссылку и дождаться загрузки файла, только после этого можно продолжить.

 

Внимание!!! Во избежания несанкционированного доступа к исходным файлам проекта обязательно в последнем шаге выполнения кодирования нажмите кнопку «Далее», данная процедура удаляет все исходные, кодированные, а так же архивные файлы с сервера!!!


ionCube online PHP Encoder