madeorsk / forwarded
PHP 的 Forwarded 头部(RFC 7239)解析库。
1.0.1
2024-01-17 11:36 UTC
Requires
- php: >=8.1
Requires (Dev)
- phpunit/phpunit: ^10.1
This package is not auto-updated.
Last update: 2024-09-25 15:11:52 UTC
README
Forwarded 是一个 PHP 库,用于解析 RFC 7239 中定义的 Forwarded
请求头部。例如,Forwarded
头部是一个标准化的方法,用于识别通过 HTTP 代理或负载均衡器连接到 Web 服务器的客户端的原始 IP 地址。
Forwarded 以 composer 库的形式发布。
入门
只需将依赖项添加到您的 composer 项目中
composer require madeorsk/forwarded
如何使用
简单方式
通常,您只想从当前请求中获取 Forwarded 头部(例如,当使用 PHP-FPM 时),或者甚至只是请求源的 IP 地址。
<?php
use Madeorsk\Forwarded\Forwarded;
$forwarded = Forwarded::get(); // Getting the parsed Forwarded header.
$originIp = Forwarded::getOriginIp(); // Getting the IP address of the origin request from the parsed Forwarded header.
如果您需要更多控制
如果您无法从经典标准方式获取头部内容,可以直接调用 Forwarded 头部解析器。
<?php
use Madeorsk\Forwarded\Parser;
// Get a Forwarded parsed header from its raw string.
$forwarded = (new Parser())->parse("for=192.0.2.43,for=\"[2001:db8:cafe::17]\",for=unknown");
// Get the Forwarded header content parsed in a raw associative array from its raw string.
$forwardedAssoc = (new Parser())->parseAssoc("for=192.0.2.43,for=\"[2001:db8:cafe::17]\",for=unknown");