Использование Bcompiler для защиты php кода
Главная  
Про проект  
Книги  
Обмен ссылками  
Сервис  
Добавить статью  
Главная
Про проект
Книги
Обмен ссылками
Сервис
Добавить статью
Главная
dragon
Статьи в разделе:

∴ Установка програм

» Netbeans - редактор php » Учимся использовать логи » Список программ для создания сайта » Установка Denwer » Установка Photoshop » Установка Smarty » Установка Dreamweaver » Установка phpMyAdmin » Установка Web-сервера Apache » Установка PHP » Установка MySQL

∴ Оптимизация сайта

» Addstudio - SEO модуль » Отладка js и CSS » Атрибут rel="nofollow" » Тестируем кроссбраузерность » Понятие кроссбраузерности » Оптимизация кода » Детально про PageRank » Создание статических страниц » Внутреняя перелинковка » Про валидность сайтов » Правила оптимизации » Мета-теги

∴ Пример создания сайта

» Выбор движка сайта » Парадигма ООП в php » ООП и классы в php » Использование Ajax » Использование smarty » Переменные php, метод Get и Post » Favicon - иконки Вашего сайта » Таблица символов в html коде » Технология создания web-проекта » Практический урок » Создаем «файл-шаблон» » Создаем «файл PHP» » Полезные елементы сайта

∴ Раскрутка сайта

» Каталоги и биржи статей » SEO программа » Продвижение ключевых слов » Если сайт забанили » Форум как способ раскрутки » Создание дорвеев (doorway) » Обзор seo-программ » Индексация сайта » Обмен ссылками » Раскрутка в рейтингах » Обмен статьями » Поисковые системы » Продвижение сайта на Sape.ru

∴ Хостинг и домен

» Свой веб сервер » Про хостинг и домен » Выбор хостинга » Выбор домена

∴ Заработок Web-мастера

» Аутсорсинг на oDesk.com » Обзор биржи Liex.ru » Стратегия дохода на Sape.ru » Про заработок Web-мастера » Заработок на Sape.ru

∴ Подготовка к созданию сайта

» Платный или бесплатный? » Лицензии open source » Фриланс - каждый может! » Готовимся к созданию сайта » Про уникальность контента » Основы создания сайта » Создание семантического ядра » Курс молодого web-мастера » Тематика сайта

∴ Примеры PHP/Javascript

» Шифруем код base64 » Bcompiler расширение php » Отладка скриптов в php » Авторизация на sape.ru » Cокеты в php » Защита js кода » Отправка почты на PHP » Создание часов » Защита от спама » Резолюция дисплея на Javascript
 
Дипломные работы от 1000 руб - диплом киев. Заказ дипломных работ.
 
 
sape
 
Кнопка сайта:
Самостоятельное создание сайта, веб-дизайн, web-программирование, продвижение и оптимизация сайта




По всем вопросам пишите на webmaster@info-pages.com.ua. Вы можете свободно использовать/размещать/перепечатывать статьи сайта всего лишь указав ссылку на источник.
Использование Bcompiler для защиты php кода
  

   Подключаем Bcompiler

Размещено: 03 мая 2010   

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

   Основная программа для защиты php кода это Zend Encoder/Zend Guard. Программа от разработчиков Zend PHP Company, основатели которой и создали ядро php. Другими словами разработчики php с одной стороны модернизируют и распостраняют бесплатно язык php, а с другой стороны предлагают воспользоваться программой Zend Encoder/Zend Guard для защиты кода на платной основе. Сегодня лицензия на этот продукт стоит $799 за 1 год использования.
   Существуют, также, и еще много других продуктов других независимых разработчиков. Неплохо себя зарекомендовал и ionCube PHP Encoder. Для этого продукта существует 3 варианта лицензий, среди которых, базовая лицензия стоит $199 за 1 год использования для 1 машины (компьютера).
   Помимо этих самых популярных платных продуктов есть еще целый ряд других, ознакомится с ними Вы можете поискав их в интернете. Вот наиболее широкий список предлагаемых продуктов по защите php кода с их кратким описанием, который я нашел.

   Основными недостатками всех этих программ является:
      - платность, как правило необходима ежегодная покупка лицензий. Хотя в стоимость и входит апгрейд и бесплатная поддержка.
      - существование декодеров, способных расшифровать Ваш защищенный код. Например, для расшифрования Zend Encoder/Zend Guard существуют Zend Dencoder'ы (например, MMSCN Dezend или онлайн-сервис). В пользу ionCube PHP Encoder можно сказать, что публичных онлайн сервисов пока нет, да и программ для декодирования не найдено, но со временем, думаю появятся.

   Основными действиями, которые выполняют енкодеры:
      1. обфускация php кода - удаление всех необязательных лишних символов в скрипте, таких как пробелы, переносы строк и комментарии, что превращает код в одну сплошную строку. А также, самое основное это замена названий переменных и функций (в том числе внутри классов) на трудные для восприятия наборы символов, на пример такого вида: $_1_1_0, $_1_1_0_ или $_c2m4f6sk8 и по специальному алгоритму, цель которого затруднить восприятие.
      2. в различной очередности криптование и шифрование кода различными алгоритмами n-количество раз. Однако, в большинстве одного программного обеспечения используеться похожая система, что и позволяет создавать декодеры.

   Те, кто не хочет платить деньги за лицензии или сомневается в эффективности программ для защиты php кода пишут собственные кодировщики или используют распостраняемые классы слегка модифицируя их под свои уникальные алгоритмы. Зачастую используют base64-шифрование - когда произвольная последовательность байт преобразуется в последовательность печатных ASCII символов. Используется в основном для самостоятельного шифрование собственных предварительно обфусцированых скриптов. С помощью php это можно реализовать так:

$str='какой-то текст';
echo(base64_encode($str));
echo(base64_decode($str));

   Ну и наконец, после краткого вступления, я подхожу к основной теме этой статьи. Это установка и использование bcompiler'а.
   Bcompiler - это специальная библиотека/расширение для php позволяющая превратить php скрипт в байт код, который непосредственно читается и выполняется php-интерпретатором. Bcompiler это эксперементальное расширение для php, которое можно использовать на свой риск. На сайте php.net указывается, что использование bcompiler'а, как средство защиты php скриптов, делает практически невозможным как воссоздание кода в первичный вид, так и изменение его. Однако, все данные которые прописаны в скрипте, как значение переменных, конечно, можно вытянуть. Поэтому не рекомендуется хранить пароли и другую важную информацию.

   Основные плюсы bcompiler'а это:
      - бесплатное использование;
      - увеличение скорости выполнение скриптов приблизительно на 30%;
      - эффективная защита php кода. По крайней мере, в интернете Вы врядли, сходу найдете не то, чтоб информацию о востанновлении данных, а и о самом bcompiler'е, кроме официального сайта.
   Когда я искал информацию о bcompiler, то у меня сложилось впечатление, что развитие этой библиотеки и ее возможностей логически невыгодно для Zend PHP Company, ведь фактически этот бесплатный енкодер может также успешно заменять платный Zend Encoder/Zend Guard.
   Основные минусы bcompiler'а:
      - подключение на хостинге к php библиотеки/расширение bcompiler.(so | dll). Однако для большинства хостеров это, впрочем, не проблема. Они позволяют в настройках хостинга самостоятельно подключить модули или делают это сами на Вашу просьбу.
      - пока еще нет стабильной версии bcompiler'а. Эта библиотека в составе PECL официально находится на стадии beta-тестирования уже 8 лет.

   Подключение и использование bcompiler'а.

   Сперва необходимо подключить библиотеку bcompiler, как php расширение в виде модуля в файле php.ini.
   В Windows Вам понадобится dll расширение, для этого скачайте этот файл php_bcompiler.dll (v0.9s). скопируйте его в папку /php/ext к остальным библиотекам и пропишите подключение в файле php.ini в месте, где подключаются другие модули следующую строку:

extension=php_bcompiler.dll

   Если Вы используете UNIX-систему, то Вам необходимо скомпилировать расширение bcompiler с помощью PECL/PEAR. Компиляция bcompiler'а для Fedora:

yum install bzip2
yum install bzip2-libs
yum install bzip2-devel

yum install php
yum install php-devel

yum install php-pear

pear install bcompiler-beta

   Теперь Вам необходимо найти подходящий хостинг, можно рассмотреть такие варианты:
      1. найти хостинг на windows платформе, тогда можно легко подключить dll расширение;
      2. найти хостинг на котором, у Вас будет возможность разместить/проводить свои сборки php;
      3. хостер сам соберет php в составе bcompiler'а.

   Для создания отдельного зашифрованого файла с байт кодом, необходимо использовать функции: bcompiler_write_file(), bcompiler_write_header() и bcompiler_write_footer(). Например:

$fh = fopen("test.phb", "w");
bcompiler_write_header($fh);
bcompiler_write_file($fh, "test.php"); //исходный файл для компиляции
bcompiler_write_footer($fh);
fclose($fh);

   В результате мы получаем файл test.phb. Обратите внимание на расширение файла *.phb. Это стандартное понятное расширение для определения файлов обработаных bcompiler'ом. Это полноценные файлы, которые могут подключатся выполняться вместе с открытым кодом. Например:

...
$x = $b."str";
require_once('cfg.phb');
echo $x;
...

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

   Надеюсь эта статья про bcompiler. будет Вам полезна, особенно учитывая малое количество информации об этой библиотеке.

   
Ваша оценка:
 kod
Проголосовать!
Спасибо, Вы успешно
проголосовали!
Ошибка скрипта,
сообщите администратору!
Ошибка,
неверный код!
Вы уже голосовали!
Рейтинг: +4, проголосовало 15
  Отображено 6 последних комментариев  
Alex Скачал php_bcompiler.dll и положил в ext/, прописал extension=php_bcompiler.dll в php.ini - PHP теперь не запускается, в логах ничего нет. PHP Version 5.3.3 PHP API 20090626 PHP Extension 20090626 Zend Extension 220090626 Zend Extension Build API220090626,TS,VC6 PHP Extension Build API20090626,TS,VC6
13:41 08.12.11
Тарас Большое спасибо!
15:44 25.03.11
DNS Скорее всего bcompiler конфликтует с ZendOptimizer, отключите его в php.ini и попробуйте еще раз
15:03 02.02.11
admin нет, с такой проблемой не сталкивался, сборка apache+php видимо не устраивает, попробуйте без zend optimizer'a
11:23 14.12.10
Иван функция require_once(test.phb), include(test.phb) и подобные не работают с расширением phb. выдаёт ошибку Сигнатура проблемы: Имя события проблемы: APPCRASH Имя приложения: httpd.exe Версия приложения: 2.2.4.0 Отметка времени приложения: 45a476e3 Имя модуля с ошибкой: ZendOptimizer.dll Версия модуля с ошибкой: 0.0.0.0 что это может быть? Автор, вы с такой проблемой сталкивались?
18:54 25.11.10
Юрий Спасибо огромнейшее!:Ok
10:53 25.11.10
Д О Б А В И Т Ь    К О М М Е Н Т А Р И Й:
   Ваше имя:    
   Почтовый ящик @:     * - не отображается
   Текст комментария:




:) :( ;) :|
8) :] :0 :B
:Ok :sos :S B(
yes boom write
   Введите защитный код:   kod

                                                                                                                                                                                                                                                                                                                                                                                 
Авторизация

Логин:
Пароль:

Эксклюзивное женское белье: магазин белья.

продажа недвижимости

















 
Все права защищены, 2007-2009рр. статей: всего 77, на модерации 248; комментариев: 463, ссылок: всего 15, новых 0; выполнено за 0.26 sec. Карта сайта