Каталог статей
Поиск по базе статей  
Статья на тему Интернет » Интересное в сети » Лицензирование РНР-скриптов: решение Zend

 

Лицензирование РНР-скриптов: решение Zend

 

 

Программисты, которые используют компилируемые языки высокого уровня (ObjectPascal, C/C++ и другие) при создании и распространении программы, имеют возможность выбора — распространять ПО в виде скомпилированных двоичных файлов или открыть исходные тексты программы для всех желающих. Но вот для тех, кто создает серверные программы, используя один из скриптовых языков (Perl, Phyton, PHP) или Java/C#, оказываются изначально ограниченными в возможностях распространения своих продуктов. Ведь, поскольку используются скриптовые языки, это значит, что исходный код программы (скрипта) открыт и превращается в исполняемый код средой исполнения (неважно чем — интерпретатором, JIT-компилятором Java, ядром PHP или .NET Runtime) непосредственно в момент запроса клиентом страницы. Конечно, тут есть много допущений, поскольку современные среды исполнения обычно применяют для увеличения быстродействия ряд методов — к примеру, хранение заранее откомпилированного кода или байт-кода и так далее. Но суть всегда одна — программа (скрипт) распространяется в виде набора открытых исходных файлов.

загрузка...

 

 

Такое положение существенно ограничивало возможности разработчиков получать доход от продажи своих программ. Если в мире десктоп-программ есть возможность привязки ПО к компьютеру, ограничение времени работу программы (trialware, shareware) и другие методы, то для скриптов это неприемлемо. Ведь если исходный код доступен заказчику, то он может его изменять в любое время и как ему вздумается. Так что для веб-разработок была возможна только одна модель продажи — за фиксированную сумму один раз (заказали скрипт — вы его написали и продали за заранее оговоренную сумму).

На выбор разработчику предлагается любой из четырех способов лицензированияКонечно, такое ограничение было довольно неудобным и являло собой существенный сдерживающий фактор. И вот компания Zend Techonogy, разработчик ядра Zend (на основе которого работают РНР 4 и 5), оригинально решила эту проблему, выпустив пакет Zend SafeGuard Suite (сейчас доступна версия 3.5). Эта программа позволяет регулировать доступ к вашим скриптам на РНР согласно лицензиям — специальным файлам, в которых хранятся данные о правах доступа. Теперь имеется возможность использовать следующие модели распространения ваших скриптов:

  • ограничение по времени (работа до указанного срока или фиксированное количество суток);
  • лицензирование на основе одновременной работы некоторого количества пользователей (это больше подойдет для специальных сервисов и внутрикорпоративных порталов);
  • привязка к оборудованию сервера (генерируется специальный host-id, который уникален для каждого сервера, и скрипт будет работать только на одном сервере);
  • привязка к IP-адресу сервера (или диапазону адресов).

    Что интересно, все эти методы можно комбинировать между собой в любом сочетании!

    Пакет Zend SafeGuard Suite включает в себя программы:

  • Zend Encoder — программный комплекс для кодирования скриптов;
  • Zend License Manager — программа для генерации лицензий.
  • Zend PHP Optimizer — серверный модуль, подключаемый к ядру РНР, который работает с закодированными скриптами и лицензиями, а также отвечает за оптимизацию и повышение производительности сервера.
  • zendid.exe — утилита генерации кода для привязки лицензии к определенной машине (аппаратному обеспечению сервера);

    После кодирования PHP-скрипт превращается в двоичный файлПодход компании Zend простой — скрипты из открытого вида (простой текст) утилитой Zend Encoder превращаются в закрытые двоичные файлы (которые уже нельзя просмотреть обычным текстовым редактором), а ядро PHP с модулем Optimizer выполняет обратную операцию раскодирования (предварительно «сверившись» с лицензией — допустимо ли исполнение скрипта) и исполняет оптимизированный код. PHP Optimizer — вообще очень интересный продукт: если он работает с простыми скриптами (не кодированными), то служит для оптимизации работы ядра, применяя различные алгоритмы кеширования и другие методы (подробнее можно прочитать тут). Подход такой — модуль Optimizer (а это, в принципе, одна библиотека) входит в каждый пакет от самой Zend (PHPWinEnabler, Zend Accelerator, Zend Performance Suite) а также доступен сам по себе совершенно бесплатно. А если учитывать, что SafeGuard Suite — довольно дорогое решение, то, если вы его покупаете, очень желательно купить еще и один из пакетов для оптимизации — ведь быстродействия никогда не бывает слишком много, а преимущества от использования коммерческих пакетов оптимизации, как говорится, налицо.

    Работа с пакетом Zend SafeGuard Suite очень проста. Сначала надо подготовить файлы для кодирования. Все операции производятся через удобный интуитивных графический интерфейс, так что сложностей возникнуть не должно. Выбираете директорию с РНР-файлами, указываете конечную директорию и настройки преобразования. К настройкам относятся задание способа включения PHP-кода (теги <? или ASP-стиль < %), настройка уровня оптимизации (он зависит от того, что именно ваши скрипты делают,; разработчики предупреждают, что не все библиотеки и функции будут корректно работать после кодирования, и для предотвращения проблем надо проводить тесты в каждом конкретном случае) и срок работы (действия лицензии) в виде конечной даты или количества дней. Все, после кодирования файлы окажутся уже в виде закрытого двоичного кода, а не простого текстового. Их уже нельзя редактировать, поэтому кодировать надо уже полностью отлаженную и работающую версию скриптов или, как выход, кодировать и лицензировать только ядро, часть функций, которые не будут изменяться при частичной переработке программы.

    А теперь надо сгенерировать лицензию, перейдя на вторую вкладку — «Zend license generator». Лицензия — это небольшой файл текстового содержания, который описывает условия распространения скрипта, причем использовать лицензию от одного продукта для работы с другим не получится. Лицензия выглядит так:

    Product-Name = test
    Registered-To = raiden
    Hardware-Locked = No
    Expires = 02-Aug-2004
    Produced-By = Zend Encoder trial
    Verification-Code= 0Ga4MdoXNDCDT/AKrpiT5NF2kVvcAhUAhsXW6wF8Qeg4TwOwDMN94O0aN8Q=

    Лицензия — это обычный текстовый файлПервая строка — это название продукта, который вы защищаете, далее имя пользователя, Hardware-Locked указывает на то, используется ли привязка к аппаратному обеспечению сервера (для генерации host-id в комплекте есть специальная утилита). Expires указывает дату, до которой скрипт работоспособен (лицензия верна). И в последней строке указывается код верификации — специальным образом сгенерированная строка, которая и служит для однозначного сопоставления "скрипт — лицензия" и выявления случаев ручной корректировки файла лицензий. Лицензии хранятся в файле с расширением ".zl" и могут располагаться в любом месте на сервере. Для подключения лицензии к серверу необходимо редактировать опции в файле конфигурации PHP — php.ini. Пример:

    [zend]
    ; тут опции установленных компонентов Zend
    zend_optimizer.license_path="D:\test.zl"

    Опция "zend_optimizer.license_path" указывает на файл лицензий, который будет применяться при работе с закодированными скриптами. Если вы держите на одном сервере разные сайты, и каждому из них надо устанавливать свои лицензии, то проще создать единую общую директорию для хранения лицензий и записывать пути через разделитель (в Windows — ";", в Unix — ": "). К примеру, когда есть две лицензии, то задать их можно таким способом:

    zend_optimizer.license_path="D:\test.zl;c\mylicense\license2.zl"


    Сервер сам опознает, какую лицензию к какому скрипту применять.

    В лицензиях можно задавать и собственные поля — к примеру, название компании-разработчика. Также есть возможность настроить вывод информации о том, что лицензия истекла, и куда и к кому обратиться за ее продлением. Этот блок информации задается при генерации лицензии и выводится в окно браузера при попытке доступа к скрипту, срок лицензии которого истек.

    phpBB нормально работает в закодированном видеДля проверки работы комплекса автор использовал пакет Zend WinEnabler 1.1, который включает модуль Optimizer и триал-версию Zend SafeGuard Suite 3.5.0а, в качестве тестового скрипта — популярный форум phpBB. После кодирования форум работает абсолютно идентично, скорость работы в принципе не изменилась. Хотя разработчики и предупреждают, что не всякий код совместим, но довольно большой проект рhpBB, интенсивно работающий с базой данных, работал без сбоев.

    Описанная информация — лишь базовая, сам принцип работы пакета довольно интересен, а возможность лицензирования РНР-скриптов выглядит очень и очень заманчиво, ведь теперь гораздо легче распространять коммерческие программы. А хостинговые компании могут предоставить новые сервисы для клиентов. Вместе с новыми возможностями языка, появившиеся в РНР 5, это открывает дорогу для РНР в мир серьезных корпоративных и бизнес-приложений.

    Ссылки по теме




    Статья получена: hostinfo.ru
    загрузка...

     

     

  • Наверх


    Постоянная ссылка на статью "Лицензирование РНР-скриптов: решение Zend":


    Рассказать другу

    Оценка: 4.0 (голосов: 16)

    Ваша оценка:

    Ваш комментарий

    Имя:
    Сообщение:
    Защитный код: включите графику
     
     



    Поиск по базе статей:





    Темы статей






    Новые статьи

    Противовирусные препараты: за и против Добро пожаловать в Армению. Знакомство с Арменией Крыша из сэндвич панелей для индивидуального строительства Возможно ли отменить договор купли-продажи квартиры, если он был уже подписан Как выбрать блеск для губ Чего боятся мужчины Как побороть страх перед неизвестностью Газон на участке своими руками Как правильно стирать шторы Как просто бросить курить

    Вместе с этой статьей обычно читают:

    2002: время принимать решения

    Советы такого рода обычно говорят что-то вроде: «чтобы быть успешным, наблюдайте за успешными людьми», «чтобы управлять вашим временем лучше, посмотрите за привычками и поведением людей, которые уже достигли успеха», «для того, чтобы ваши десны были здоровыми, прочищайте их зубной нитью каждый день». Так говорят 3 из 4-х ведущих гуру и дантистов. А что по поводу вебсайтов?

    » Продвижение и оптимизация - 1440 - читать


    Отчет по вебинару Zend «Web Service with PHP»

    В последнее время проведение онлайновых семинаров (вебинаров, вебкастов), посвященным IT-технологиям, становится все более и более популярным явлением не только в качестве рекламы крупных софтверных компаний, но и в области Open Source проектов. Не является исключением и язык программирования PHP, по разным аспектам использования которого компания Zend, лидер разработок в области PHP, старается проводить вебинары не реже одного раза в месяц. Семинар этого месяца касался акт ...

    » Продвижение и оптимизация - 2010 - читать


    Coherence&nb p;&mda h; решение для балансировки нагрузки веб-приложений

    Бурная волна доткомов конца 90-х годов вызвала рост сопутствующих продуктов. Сервер балансировки нагрузки Coherence был впервые представлен на американском рынке небольшой, специально созданной под этот продукт компанией Tangosol в 2001 году. Его основное назначение — балансировка нагрузки при работе веб-приложений в части управления данными, поддержания их целостности, репликации и управления HTTP-сессиями, в том числе для кластерных систем.

    » Интересное в сети - 2238 - читать


    Обзор решений для тестирования сайтов

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

    » Интересное в сети - 2424 - читать


    Шаблонные решения для дизайна сайтов

    Как сделать хороший дизайн для своего сайта? Нужно заплатить большую сумму денег крутой студии веб-дизайна и получить отличный готовый продукт. Однако если вы не можете позволить себе такие траты, для вас есть не менее хороший способ оформить веб-страницу – использовать шаблонное решение для дизайна своего сайта.

    » Интересное в сети - 3077 - читать



    Статья на тему Интернет » Интересное в сети » Лицензирование РНР-скриптов: решение Zend

    Все статьи | Разделы | Поиск | Добавить статью | Контакты

    © Art.Thelib.Ru, 2006-2024, при копировании материалов, прямая индексируемая ссылка на сайт обязательна.

    Энциклопедия Art.Thelib.Ru