madeorsk/forwarded

PHP 的 Forwarded 头部(RFC 7239)解析库。

1.0.1 2024-01-17 11:36 UTC

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");