Скрытие PHP-кода. Самопальный MiniZend

Простой метод сокрытия PHP-кода. От знатоков PHP, конечно, ничего не скроет, но новичкам усложнит жизнь — это точно.
Для создания своего минизенда будем использовать следующие функции PHP:
base64_encode("string"); // кодирует строку с помощью системы кодирования MIME base64.
base64_decode("string"); // обратное раскодирование из base64.
gzdeflate("string"); // "сплющивание" строки.
gzinflate("string"); // "распрямление" "сплющиванной" строки.
eval("string"); //выполненbt строки как PHP-кода.

Прятать код мы будем следующим образом:
Создадим шифрующий скрипт следующего содержания:
<?
echo gzdeflate(base64_encode('string'));
?>

Здесь base64_encode () закодирует нашу строку, а gzdeflate () сожмет ее чтобы зашифрованный скрипт не получился огромного размера.

Далее откроем скрипт, код которого мы хотим скрыть, вырежем конструкцию, котрую мы хотим скрыть (или весь скрипт), и вставим ее вместо «string» шифрующего скрипта (не забыв заэскейпить все апострофы!). Например, мы хотим зашифровать конструкцию:
for ($i=0; $i<5; $i++){
echo 'Hello World!';
}

Копируем этот кусок кода в шифрующий скрипт (не забыв заэскейпить апострофы, т.е. поставить перед ними знак ):
<?
echo gzdeflate(base64_encode('
for ($i=0; $i<5; $i++){
echo 'Hello World!';
}
'));
?>

И запустим его. Если Вы ни наделали синтаксических ошибок, то он нам выдаст какую-то белиберду, типа такой:

????tN?N
1 (??t???`:???;?????1??=,+??"?? #'????-?,9?"?38??9 (??d

Это и есть наш зашифрованный скрипт.

Теперь надо вставить этот зашифрованный фрагмент в Ваш скрипт.
Для этого в то место скрипта, которое мы зашифровали вставляем следующий код:
eval(gzinflate(base64_decode('string');
Вместо string подставляем белиберду, которую нам выдал скрипт-шифровальщик. В нашем примере получится так:
eval(gzinflate(base64_decode('????tN?N
1(??t???`:???;?????1??=,+??"?? #'????-?,9?"?38??9(??d');

Все! Можно спокойно использовать скрипт.
Кстати, эта кодирующая/раскодирующая конструкция будет работать абсолютно на любых хостингах, в т.ч. и на бесплатных.

Поблагодарить автора

5 Responses to Скрытие PHP-кода. Самопальный MiniZend

  1. Объясните пожалуйста, в чем разница одинаковых значений и не ошибка ли это в написании:

    gzdeflate («string»); // «сплющивание» строки.

    gzdeflate («string»); // «распрямление» «сплющиванной» строки.

  2. Вот это уже другое дело!!! :!:

    Как говорил М.Жванецкий: «...Тщательней надо, ребята!»

    Проверяйте пожалуйста все записи перед публикацией, чтобы не было потом... мучительно больно... за свою оплошность... (шутка!)

    Спасибо за оперативное реагирование! :lol:

Оставить комментарий

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>