Обфускация Javascript на ходу на PHP на русском

Обфускация Javascript на ходу на PHP на русском

Итак, у меня была довольно специфическая структура проекта, JS-код генерировался на ходу с помощью PHP. Нужно было обфусцировать код, но оставить возможность добавлять некоторые данные на ходу на PHP.

Сейчас расскажу как я решил эту проблему.

TL;DR:
Я локально переобфусцирую код и кладу его в соседнюю папку после изменений.

Во-первых, я подключил Webpack. Части, которые раньше вставлялись на PHP теперь подключаются с помощью require. Так же это позитивно сказалось на структуре кода проекта.
Я подключил Webpack-плагин для известного обфускатора javascript-obfuscator.

Динамичные данные, которые должны вставлятся с помощью PHP, я вставляю в виде переменных типа __$$CONFIG$$__ и __$$IS_DEV$$__, которые с помощью PHP заменялись на ходу на JSON-массив или код. Таким же образом заменялись некоторые данные в строковых литералах. Эти строки и идентификаторы я добавил в список исключений, чтоб обфускатор их не переименовал.

После изменений я делаю npm build и потом делаю коммит, в котором в одной папке изменения в исходниках, а в другой – в обфусцированной сборке. А потом cron-скрипт подтягивает обновление из GitHub на хостинг.

Обфускация Javascript на ходу на PHP на русском

Leave a Reply

Your email address will not be published.