Прячем исходный код. Zend Optimizer & Zend Encoder
10.9.2001
Возникла как-то задачка: показать проект заказчикам, но исходник не показывать.
После долгих раздумий, как "попортить" свой стройный код (вспоминая еще те времена, когда были проги для исходников на турбо-паскале, которые убирали переводы строк, табуляторы, лишние пробелы, делая код нечитаемым) по совету умных товарищей с канала #phpclub набрел на Зендовские утилиты, а именно Zend Optimizer и Zend Encoder.
Комплекс, в принципе, предназначен для кодирования и раскодирования, некой оптимизации и пр. пр., но мне было интересно именно сокрытие исходных текстов от шаловливых рученок...
Краткое описание работы: Zend Optimizer работает как модуль к PHP и делает кучу работы, оптимизирует там что-то и понимает файлы, обработанные прогой Zend Encoder. Прога эта делает некую компиляцию исходника ПХП, после чего он становится абсолютно нечитабельным и нередактируемым. Пример: файл test.php с содержимым:
---
<? phpinfo () ?>
---
после обработки выглядит так:
---
Zend..2000112001..1..88..179.xЫ
Ў2..еpHjb-B+-KfH%"-.kШ¦рээJ+䦦"hг4б.-.'Є .и+TЛR-Q-Єўv.L.п.7.L -х.f.J¦¦
х.ц|k-@.еe.
---
Вызывая оба файла, как кодированный, так и не кодированный, получим один и тот же результат на выводе(тоже фича Optimizera: понимать кодированные и не кодированные файлы одинаково).
Для Encoder'a в комплекте поставки есть шелл-скрипт, который позволяет кодить целый сайт, включая поддиректории.
Перед тем, как приступить к описаную непосредственно установки комплекса стоит отметить, что Zend Optimizer - свободно распространяемая программа, а вот Zend Encoder - это не бесплатная утилита, за нее требуют денег, но с сайта можно скачать пробную версию, а пообщавшись с обитателями канала #phpclub, поиметь ключик для неё и пользоваться абсолютно бесплатно...