Redactor
in package
Маскирование секретов в диагностических данных.
Скрывает учётные данные в URL (https://user:pass@host), значения
чувствительных заголовков (Authorization, Cookie, Proxy-Authorization,
X-Api-Key и др.) и произвольные строки-секреты. Применяется в сообщениях
исключений, при экспорте запроса в команду cURL и в отладочных дампах, чтобы
секреты не попадали в логи и трассировки.
Table of Contents
Constants
- MASK : mixed = '***'
- Строка-заглушка вместо секрета.
Methods
- __construct() : mixed
- isSensitiveHeader() : bool
- Чувствителен ли заголовок с указанным именем.
- redactHeaders() : Headers
- Вернуть копию заголовков с замаскированными чувствительными значениями.
- redactHeaderValue() : string
- Замаскировать значение заголовка, если он чувствительный.
- redactLog() : string
- Замаскировать секреты в многострочном журнале (отладочный вывод cURL, дампы обмена).
- redactString() : string
- Вырезать известные строковые секреты из произвольного текста.
- redactUrl() : string
- Убрать учётные данные из URL, оставив схему, хост, порт, путь и запрос.
- withSecret() : self
- Копия редактора с добавленным строковым секретом.
Constants
MASK
Строка-заглушка вместо секрета.
public
mixed
MASK
= '***'
Methods
__construct()
public
__construct([array<int, string> $extraHeaders = [] ]) : mixed
Parameters
- $extraHeaders : array<int, string> = []
-
дополнительные имена чувствительных заголовков
isSensitiveHeader()
Чувствителен ли заголовок с указанным именем.
public
isSensitiveHeader(string $name) : bool
Parameters
- $name : string
-
имя заголовка
Return values
bool —true, если значение заголовка нужно маскировать
redactHeaders()
Вернуть копию заголовков с замаскированными чувствительными значениями.
public
redactHeaders(Headers $headers) : Headers
Parameters
- $headers : Headers
-
исходные заголовки
Return values
Headers —заголовки, безопасные для вывода
redactHeaderValue()
Замаскировать значение заголовка, если он чувствительный.
public
redactHeaderValue(string $name, string $value) : string
Parameters
- $name : string
-
имя заголовка
- $value : string
-
значение заголовка
Return values
string —исходное или замаскированное значение
redactLog()
Замаскировать секреты в многострочном журнале (отладочный вывод cURL, дампы обмена).
public
redactLog(string $text) : string
В строках вида Имя: значение, в том числе с префиксом > или <
журнала cURL, значения чувствительных заголовков заменяются маской;
учётные данные в URL вырезаются в любом месте текста; известные
строковые секреты удаляются отовсюду.
Parameters
- $text : string
-
исходный журнал
Return values
string —журнал, безопасный для вывода
redactString()
Вырезать известные строковые секреты из произвольного текста.
public
redactString(string $text) : string
Parameters
- $text : string
-
исходный текст
Return values
string —текст без известных секретов
redactUrl()
Убрать учётные данные из URL, оставив схему, хост, порт, путь и запрос.
public
redactUrl(string $url) : string
Parameters
- $url : string
-
исходный URL
Return values
string —URL без данных пользователя и пароля
withSecret()
Копия редактора с добавленным строковым секретом.
public
withSecret(string $secret) : self
Parameters
- $secret : string
-
значение, которое нужно скрывать (например, токен)
Return values
self —новый экземпляр