SsrfGuard
in package
FinalYes
Защита от подделки запросов на стороне сервера (SSRF).
Проверяет схему URI по списку разрешённых и — если обращения во внутреннюю
сеть не разрешены — блокирует хосты, разрешающиеся в приватные или
зарезервированные адреса (localhost, 10/8, 192.168/16, link-local и т. п.).
Проверка выполняется отдельно на каждом хопе перенаправления.
Функция gethostbynamel вызывается без указания пространства имён, что
позволяет подменять разрешение имён в тестах.
Table of Contents
Methods
- __construct() : mixed
- allowedSchemes() : array<int, string>
- Список разрешённых схем.
- assertAllowed() : void
- Проверить, допустим ли URI.
Methods
__construct()
public
__construct([array<int, string> $allowedSchemes = ['http', 'https'] ]) : mixed
Parameters
- $allowedSchemes : array<int, string> = ['http', 'https']
-
разрешённые схемы (по умолчанию
http,https)
allowedSchemes()
Список разрешённых схем.
public
allowedSchemes() : array<int, string>
Return values
array<int, string> —схемы в нижнем регистре
assertAllowed()
Проверить, допустим ли URI.
public
assertAllowed(Uri $uri, bool $allowPrivateNetwork) : void
Parameters
- $uri : Uri
-
проверяемый адрес
- $allowPrivateNetwork : bool
-
разрешены ли приватные адреса