Вопрос - создание лицензии php в Zend Guard

Статус
В этой теме нельзя размещать новые ответы.

specsnaz

Создатель
Регистрация
18 Янв 2009
Сообщения
27
Реакции
0
Здравствуйте ребята! Хочу закодировать пару файлов php чтобы они были с отдельным файлом лицензии через Zend Guard.
С кодированием я разобрался, а вот когда создаю файл лицензии, в инструкции написано, что через php.ini его нужно прописывать на хосте!
Вопрос - Нельзя ли этот лицензионный файл просто положить в корневую, а закодированный скрипт проверял есть ли этот файл на сервере? Пробовал includ'ом результат на нуле.

Видел в некоторыз скриптах реализовано такое. Есть некий лицензионный файл .rpl (настроенный на опр. домен или ip) и закодированный Zendom php-файл , который ссылается на файл лицензии без всяких изменений php.ini на хосте.

Как такое реализовать? Спасибо.

P.S. Модераторам, если не туда создал тему прошу простить и перенести тему!
 
А пробовал просто положить файл рядом со скриптом и запуститься? Я где-то видел такое и вроде бы работало без доп. настроек.

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


Опция "zend_optimizer.license_path" указывает на файл лицензий, который будет применятся при работе с закодированными скриптами. Если вы держите на одном сервере разные сайты и каждому из них надо устанавливать свои лицензии, то тогда проще создать единую общую директорию для хранения лицензий, и записывать пути через разделитель (в Windows - ";", в Unix - ": "). К примеру, когда есть две лицензии, то задать их можно таким способом:
zend_optimizer.license_path="D:\test.zl;c\mylicense\license2.zl"
Сервер сам опознает, какую лицензию к какому скрипту применять.

Можно попробовать изменить опцию через ini_set().
 
Хотелось бы конечно не изменяя ini, может стоять и запрет на изменение ini. Знаю что можно без изменения ini, но как это сделать не знаю!
 
ini_set() вносит изменения на время работы скрипта, точнее изменяет только загруженную конфигурацию. Изменений в самом php.ini не будет. Эта функция собственно и введена для случаев, когда нельзя явно изменить php.ini руками или это изменение никому другому не нужно.
 
а подробнее, куда вписать в скрипт его и что именно вписать? путь например engine/modules/script.php
 
покурил ман по зенду и вывод для тебя неутешительный: динамически прописать путь к лицензии через конфиг не получится, т.к. опция zend_optimizer.license_path не входит в список разрешенных для изменения.

Но путь есть: надо использовать Zend API.

Нашел топик с примером динамического подключения, пробуй, должно работать


ключевая функция в данном случае zend_loader_install_license()
 
На форуме верный ответ! Особая благодарность Вам Paroxizm

На случай если кому то понадобиться, все делаем так:
Если у нас есть два файла:

loader.php

<?php
define('LICENSE_FILE', dirname(__FILE__).'/license.zl');
if (zend_loader_file_encoded()) {
if (!zend_loader_enabled()) die('ERROR: Zend optimizer is not enabled');
if (!file_exists(LICENSE_FILE)) die('ERROR: No license file found.');
if (!zend_loader_install_license(LICENSE_FILE)) die('ERROR: Cannot load license file');
}
include_once "include.php";
?>

include.php

<?php
if (!$data = zend_loader_file_licensed()) die('ERROR: Invalid license file');
echo "done";
?>
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху