pgpro_wrap
pgpro_wrap — скрыть код PL/pgSQL
Синтаксис
pgpro_wrap [-V | --version] [-? | --help]
Описание
pgpro_wrap — утилита командной строки для сокрытия (обфускации) кода PL/pgSQL. Утилита помогает защитить хранимые процедуры и функции от несанкционированных изменений.
Для работы pgpro_wrap требуются библиотеки OpenSSL и zlib.
pgpro_wrap принимает один исходный файл в кодировке UTF-8, скрывает его содержимое и возвращает выходной файл с суффиксом .wrap. В результате код PL/pgSQL становится недоступным для просмотра или прямого редактирования с помощью клиентских программ, таких как pgAdmin, и остаётся скрытым в системном каталоге pg_proc. Выходные файлы при этом могут выполняться обычным образом без каких-либо дополнительных действий.
Чтобы скрыть содержимое исходного файла PL/pgSQL, укажите имя файла:
./pgpro_wrap имя_файлаУтилита создаёт в текущем каталоге выходной файл с именем . Если такой файл уже существует, pgpro_wrap завершает работу с ошибкой, предотвращая случайную перезапись.имя_файла.wrap
Файл со скрытым содержимым можно загрузить на сервер базы данных или добавить в расширение. Сервер автоматически выполняет обратное преобразование кода при создании функции или выполнении скрипта.
Параметры
pgpro_wrap принимает следующие аргументы командной строки:
-V--versionВывести версию pgpro_wrap и завершить работу.
-?--helpПоказать справку по pgpro_wrap и завершить работу.
Примечания
Учтите, что скрытый код PL/pgSQL отображается в виде обычного текста в следующих компонентах системы:
файлы журналов сервера
журналы pg_proaudit
статистика, собранная с помощью pg_stat_statements и pgpro_stats
данные, предоставляемые модулем auto_explain
Таким образом, pgpro_wrap не следует рассматривать как полноценное средство защиты, поскольку код PL/pgSQL можно просмотреть с помощью указанных средств диагностики.