Intereting Posts
PHP Regex: как совместить \ r и \ n, не используя ? Размещение двух MultiCells рядом друг с другом с помощью FPDF в PHP PHP-почта не появляется в Gmail, но появляется в Hotmail и других сторонних / ISP-аккаунтах Как получить одномерный скалярный массив как результат доктрины dql-запроса? HTML5 и getUserMedia – запись аудио и сохранение на веб-сервер через определенное время Вызов функции-члена bind_param () для не-объекта, не работающего внутри функции, вызванного из другой функции phpMyAdmin Неустранимая ошибка: вызов неопределенной функции __ () Время форматирования () в PHP Как выполнить регулярное выражение URL для структуры маршрутизации? Нельзя использовать конкатенацию при объявлении свойств класса по умолчанию в PHP? PHP – синтаксический анализатор BBCode – проанализируйте тег ссылки bbcode и не помечен ссылкой Загрузить загрузку файлов создание главного шаблона в CodeIgniter Подробные регулярные выражения в PHP? Вызов WordPress для неопределенной функции get_header ();

Minify / Obfuscate PHP Code

Я использую Haxe для генерации PHP-кода. (Это означает, что вы пишете код на языке Haxe и получаете кучу php-файлов после компиляции.) Сегодня клиент сказал мне, что ему нужна новая функция в старом проекте, сделанном с Haxe. Он также сказал мне, что он изменил некоторые мелочи кода на свои нужды. Теперь я сначала перенес свои изменения в свой код Haxe, а затем добавлю новую функцию, потому что в противном случае его изменения будут перезаписаны при следующем компиляции проекта.

Чтобы это не повторилось, я ищу какую-то программу, которая минимизирует / обфускает код PHP. Цель состоит в том, чтобы сделать код нечитаемым / нередактируемым, насколько это возможно.
Идеальный инструмент будет работать под Linux и может обрабатывать целые папки и все, что содержит файлы.

У кого-нибудь есть предложения?

Я согласен с комментарием, что вы делаете очень слабо, но через 10 лет в этом бизнесе я могу засвидетельствовать одно: половина кода, который вы получаете, настолько запутанна, что его можно было бы минимизировать, и действительно функции / var names так часто полностью произвольны, я редактировал мини-js, и это было не намного сложнее, чем какой-то неминифицированный код.

Я не мог найти такой скрипт / программу, скорее всего, потому что это отнюдь не против духа PHP, а чуть-чуть, но тем не менее.

Во-первых: Php не является чувствительным к пробелу, поэтому первый шаг – удалить все символы новой строки и пробелы вне строки.

Это затруднило бы общение с средним мастером, промежуточный программист просто найдет и заменит все: {} с помощью $ 1 \ n или что-то в этом роде.

Следующим шагом будет get_defined_functions и сохранить этот массив («пользовательский» ключ в возвращаемом массиве), вам нужно будет включить все файлы для этого.

Если это код оо, вам также понадобятся get_defined_classes. Сохраните этот массив.

По сути, вам нужно получить переменные, методы и экземпляры классов, вам нужно будет создать экземпляр класса и get_object_vars, и вы можете сориентироваться и увидеть, что вы можете получить много другой информации, например, константы и классы vars и т. Д. ,

Затем вы берете эти списки, просматриваете их, создаете уникальное имя для каждой вещи, а затем preg_replace или str_replace, что во всех файлах.

Убедитесь, что вы делаете это на тестовой копии, и посмотрите, какие ошибки вы получите.

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

Проверьте: get_defined_functions get_declared_classes и просто следуйте ссылкам, чтобы узнать, что вы можете сделать.

Почему бы не использовать php buid в функции php_strip_whitespace ()

string php_strip_whitespace ( string $filename ) 

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

Мы используем Zend Guard для кодирования нашего PHP-кода с определенными клиентами, но, по словам Parrots, вы должны быть уверены, что владеете кодом. Мы только кодируем в определенных ситуациях, и только тогда, когда явное, что мы сохраняем право собственности на код, в противном случае Parrots прав, клиент имеет право его модифицировать.

Я знаю Zendguard , Expressionengine использовал его для шифрования основного кода пробной версии. Вы всегда можете дать это, хотя вам нужно заплатить за это.

Однако, хотя я понимаю разочарование в том, что мне нужно переносить его изменения, я предполагаю, что они купили у вас код? Они имеют право изменять его. Вы просто имеете право заряжать их дополнительно, чтобы переносить свои изменения;) Представьте, если вы перестали работать на них, как они могли нанять кого-то еще, чтобы обновить код?

Наш PHP Obfuscator выполняет именно работу по удалению комментариев, пробелов и идентификаторов скремблирования.

Он работает через полный набор файлов PHP, чтобы гарантировать, что скремблированные символы последовательно скремблируются в этих файлах, обеспечивая правильную работу даже после скремблирования.

EDIT 2013: теперь шифрует строковые литералы, чтобы сделать их нечитаемыми. Работает под Windows и Linux под Wine.

Вы можете попробовать PHP Obfuscator или расширение bcompiler PHP .

Я только что нашел minify-service для PHP. Это действительно выглядит полезно. Они говорят, что обфускация будет доступна в ближайшее время. Надеюсь, это правда 🙂 http://customhost.com.ua/php-minify/