Щит для web-контента Докучаев Дмитрий aka Forb Хакер, номер #085, стр. 085-056-4 [слово о скриптах] Вот ты и научился защищать свои web-проекты, email-адреса и изображения. Однако существует еще одна опасность — кража скриптов. Представь, что у тебя есть виртуальный сервак, где ты показываешь миру свой новый PHP-движок, который два года писал с напарником и в котором реализовал кучу наворотов и сложных фишек. Само собой, ты всерьез опасаешься, что какой-нибудь хакер-обдолбыш просто поломает твой сервант и упрет дорогие сорцы. Специально для тебя программисты Zend, которые, кроме всего прочего, занимаются разработкой ядра PHP, создали систему Zend Encoder, которая может изготовить из любого php-скрипта бинарный файл, который может быть выполнен при помощи Zend Optimizer. Эта связка уже давным-давно стала стандартом для коммерческих приложений и активно используется. При этом система достаточно надежна и стабильна; ей доверяют самые дорогие скрипты и программы. Единственный минус – использование системы стоит денег. Поэтому для нас с тобой она не слишком подходит. Мы воспользуемся другим здоровым решением - софтиной php_screw. Php_screw без проблем скручивается php_mod’ом и прекрасно шифрует любые сценарии. Apache без труда распознает непонятные исходники, и даже если взломщик стащит у тебя структуру движка, восстановить ему исходный код будет очень сложно. Давай потренируемся и поставим софтинку на сервер. В первую очередь скачиваем php_screw (http://prdownloads.sourceforge.net/php-screw/php_screw-1.3.tgz) и конфигурим программу. Затем слегка изменим длины ключей кодирования в файле php_screw.h. Просто поменяй 5 чисел на любые значения, чтобы твои ключи не были дефолтными. После этого можно собирать прогу командой make. Теперь начинается самое интересное. Скопируй готовый модуль php_screw.so в каталог, где находится php (у меня это /usr/lib/php4). После этого добавь строчку «extension=php_screw.so» в файл php.ini (он находится там же). И напоследок перезапусти Apache. С этой минуты web-сервер может понимать зашифрованный программой php-код. Осталось только сгенерировать парочку сложных сценариев :). Это делается командой «screw /путь/к/каталогу/скриптов». Но помни, что бинарник screw нужно предварительно собрать запросом make в директории tools. Все закодированные скрипты будут созданы в этом же каталоге, а оригиналы запишутся под именем script.php.screw. Я проверил эту штуку на своем сервере, и она мне очень понравилась. Правда, у меня пока нет необходимости шифроваться, ибо на моем сайте я не держу ничего кроме публичного форума vBuletin. Но я уверен, что у тебя есть проекты покруче борды :). [защити себя сам!] Вот и вся пища к размышлению. Ты можешь прямо сейчас скачать софт и полностью защитить свой сайт, а также все php-сценарии. Однако лучше не торопиться и подумать о продуктивности защиты. Конечно, с одной стороны никто не спионерит у тебя твою «собственность», но с другой — совсем необязательно шифровать весь код, ведь это приведет к увеличению размера страниц в 7-10 раз. Разумнее будет защитить отдельные участки кода и важные изображения, которые, по-твоему, могут быть интересны другим менее удачливым web-дизайнерам. |