Найдите имя пользователя и пароль в заголовке запроса и проверьте его

Я получаю полный заголовок запроса от третьей стороны. Мне нужно скрыть пароль и имя пользователя.

Php-Auth-Pw:     p@ssword
Php-Auth-User:   testuser

Как я могу сделать так, чтобы это выглядело так

Php-Auth-Pw:     ******
Php-Auth-User:   ******

Я пока не полностью понимаю регулярные выражения, и я только что прочитал кое-что о lookbehinds.

Я нашел это;

(?<=\Php-Auth-Pw:\s)(\w+)
(?<=\Php-Auth-User:\s)(\w+)

Но что будет правильным способом сделать это с PHP-вкусом?

1

Решение

Вы можете заменить их одним звонком preg_replace:

$s = preg_replace('~\bPhp-Auth-(?:Pw|User):\s*\K\S+~', '******', $s);

Увидеть regex demo

подробности:

  • \b — ведущая граница слова
  • Php-Auth- — буквенная последовательность символов Php-Auth-
  • (?:Pw|User) — либо Pw или же User подстрока
  • : — двоеточие
  • \s* — 0+ пробелов
  • \K — оператор сброса матча
  • \S+ — 1 или более непробельных символов
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]