madeorsk/forwarded

Forwarded header (RFC 7239) parsing library for PHP.

1.0.1 2024-01-17 11:36 UTC

This package is not auto-updated.

Last update: 2024-10-23 15:28:04 UTC


README

Forwarded is a PHP library which parse the Forwarded request header as defined in RFC 7239. The Forwarded header is a standardized method for identifying the originating IP address of a client connecting to a web server through an HTTP proxy or load balancer, for example.

Forwarded is distributed as a composer library.

Getting started

Just add the dependency to your composer project:

composer require madeorsk/forwarded

How to use

The easy way

Usually, you just want to get the Forwarded header from your current request (for example when using PHP-FPM), or even just the IP address of the origin of the request.

<?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.

If you need more control

If you cannot obtain the header content from the classic standard way, you can call directly the Forwarded header parser.

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