Реализация защиты PHP-скриптов (Zend + привязка к домену)

zxc

Новичок
Реализация защиты PHP-скриптов (Zend + привязка к домену)

Есть ли хорошие статьи по защите PHP-скриптов?
Хочу сделать привязку к домену и нужно предусмотреть варианты обхода
Сейчас у меня реализовано так:

1. При помощи debug_backtrace() проверяем существуют ли родительские скрипты, которые подключают наш
2. Проверяем различия между getenv('HTTP_HOST') и $_SERVER['HTTP_HOST']
3. Сверяем HTTP_HOST и привязанный домен при помощи md5()+key
4. Проверяем md5 или crc32 или размер шифрованного php файла (довольно ресурсоемкий вариант, учитывая предполагаемое кол-во обращений)
5. Какую-то важную текстовую часть (без которой скрипт будет не актуален) шифруем с помощью домена (к которому привязываем) и кладем в отдельный файл

есть ли варианты обхода ?
что ещё можно сделать, улучшить?

и ещё вопрос:
видел предложения по поводу расшифровки Zend, насколько актуально и как можно максимально защитить/усложнить задачу?
 

SiMM

Новичок
> есть ли варианты обхода ?
Обойти HTTP_HOST проблем не составляет.
 

zxc

Новичок
можно пример? и есть ли способ, как избежать?

если проверять auto_prepend_file и auto_append_file через ini_get это поможет?

-~{}~ 10.08.06 16:49:

Народ, неужели никто не сталкивался с этим?
 

darth

Новичок
Автор оригинала: SiMM
Обойти HTTP_HOST проблем не составляет.
если не сложно - как?
что-то типа putenv("HTTP_HOST=qwe"); ?

-~{}~ 10.08.06 17:20:

Автор оригинала: zxc


Народ, неужели никто не сталкивался с этим?
лично у меня используются
1. getenv("HTTP_HOST") и прописанного в скрипте домена (константа)
2. результат debug_backtrace()
3. проверка переопределения констант - если они defined до нужного момента - досвидания
4. все это зазендено, причем ходит слух, что если в скрипте есть что-то на русском - он не очень весело дезендится

можно и, наверно, нужно препенды проверять, аппенды - в общем тоже можно
 

zxc

Новичок
append ничего не даст, но можно и его залочить, в конце скриптов просто exit ставить

> и прописанного в скрипте домена (константа)
имхо надо не домен прописывать, а его хэш
 

SiMM

Новичок
Если скрипт настолько ценен - то один из вариантов через заднее кирильцо (может есть и попроще - то, что первым пришло в голову).
1. Завести на своём выделенном сервере требуемый скриптом виртуальный хост A.
2. С "чужого" хоста B лезть через mod_proxy к A.

> имхо надо не домен прописывать, а его хэш
Какая разница - что хэш, что домен - константы.
 

ksnk

прохожий
SiMM
Если чечь идет о
своём выделенном сервере
, то
наверное, более эффективно модуль приписать к PHP, переопределяющий debug_backtrace. А затем включать скрипт простым includ'ом. Ну, а перед этим инклудом состряпать подходящее окружение для скрипта... :)
 

nerezus

Вселенский отказник
все эти проверки можно обойти, условия снять и т.д.

P.S. дезенд 1 файла - 3 бакса.
 

nerezus

Вселенский отказник
нет. но как буду с компа(сейчас с кпк) - могу найти координаты того, кто может сделать.
 

zxc

Новичок
мне не надо
я итак знаю, что зенд расшифровывается (кстати, последнюю версию Zend Guard, которая шифрует на zend optimizer 3.0, вроде бы ещё не декодируют)


а проверки на уровне зенда действительно легко снимаются, тут статья была.
мы говорим о проверках на пхп.
это необязательно относится к zend - можно юзать ioncube или ещё что-то
 

WP

^_^
В любом случае можно легко поправить сорцы пхп и вся защита пойдет в трубу.
 

ustas

Элекомист №1
наверно не новость, но дезенд уже у всех есть, теперь только качество, удобный интерфейс и т.д.
 

AmdY

Пью пиво
Команда форума
Любая защита обходится, но большинство скриптов не стоит времени на их взлом.
 

cDLEON

Онанист РНРСlub
WP
Видел я. Как они дешифруют последние версии зенда ))
Такая каша получается...Что я даже, тот человек, который когда то писал это не мог понять логики. При чём платным дезендом пользовались люди)
Кстати... В зенде есть такая фича "запрет инклуда не закоденных тем же юзверем файлов" - это решает большее количество проблем с дезендом. Т.е грубо говоря если проект большой, то декодинг какого то одного файла ни чего не даст. Нужно декодить и исправлять весь проект.
 

iSlayter

Новичок
видел предложения по поводу расшифровки Zend, насколько актуально и как можно максимально защитить/усложнить задачу?

никак. смотрите [skip...]
Отредактировал - реклама
 
Сверху