* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpKernel\EventListener; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpKernel\Event\GetResponseEvent; use Symfony\Component\HttpKernel\KernelEvents; /** * Validates that the headers and other information indicating the * client IP address of a request are consistent. * * @author Magnus Nordlander */ class ValidateRequestListener implements EventSubscriberInterface { /** * Performs the validation. * * @param GetResponseEvent $event */ public function onKernelRequest(GetResponseEvent $event) { if (!$event->isMasterRequest()) { return; } $request = $event->getRequest(); if ($request::getTrustedProxies()) { // This will throw an exception if the headers are inconsistent. $request->getClientIps(); } } /** * {@inheritdoc} */ public static function getSubscribedEvents() { return array( KernelEvents::REQUEST => array( array('onKernelRequest', 256), ), ); } }