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
- Замаскировать значение заголовка, если он чувствительный.
- 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 —исходное или замаскированное значение
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 —новый экземпляр