当前位置: 首页>>代码示例>>PHP>>正文


PHP Request::trustProxyData方法代码示例

本文整理汇总了PHP中Symfony\Component\HttpFoundation\Request::trustProxyData方法的典型用法代码示例。如果您正苦于以下问题:PHP Request::trustProxyData方法的具体用法?PHP Request::trustProxyData怎么用?PHP Request::trustProxyData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Symfony\Component\HttpFoundation\Request的用法示例。


在下文中一共展示了Request::trustProxyData方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: boot

 public function boot()
 {
     if ($trustedProxies = $this->container->getParameter('kernel.trusted_proxies')) {
         Request::setTrustedProxies($trustedProxies);
     } elseif ($this->container->getParameter('kernel.trust_proxy_headers')) {
         Request::trustProxyData(); // @deprecated, to be removed in 2.3
     }
 }
开发者ID:nysander,项目名称:symfony,代码行数:8,代码来源:FrameworkBundle.php

示例2: startTrustingProxyData

 private function startTrustingProxyData()
 {
     Request::trustProxyData();
 }
开发者ID:vieiragabriel,项目名称:moodle-block_gchat,代码行数:4,代码来源:RequestTest.php

示例3: TimestampableListener

        $loader->loadClass($class);
        return class_exists($class, false);
    });
    AnnotationRegistry::registerFile(__DIR__ . '/../vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php');
    // globally used cache driver, in production use APC or memcached
    $cache = new Doctrine\Common\Cache\ArrayCache();
    // standard annotation reader
    $annotationReader = new Doctrine\Common\Annotations\AnnotationReader();
    $cachedAnnotationReader = new Doctrine\Common\Annotations\CachedReader($annotationReader, $cache);
    // create a driver chain for metadata reading
    $driverChain = new Doctrine\ORM\Mapping\Driver\DriverChain();
    // load superclass metadata mapping only, into driver chain
    // also registers Gedmo annotations.NOTE: you can personalize it
    Gedmo\DoctrineExtensions::registerAbstractMappingIntoDriverChainORM($driverChain, $cachedAnnotationReader);
    //-- timestampable Listerner
    $timestampableListener = new TimestampableListener();
    $timestampableListener->setAnnotationReader($cachedAnnotationReader);
    $app['doctrine.dbal.event_manager']->addEventSubscriber(new TimestampableListener());
});
//-- error
$app->error(function (\Exception $e, $code) use($app) {
    if ($app['debug']) {
        return;
    }
    return $app['twig']->render('default/error.html.twig', array('code' => $code));
});
if ('preprod' == $app['env']) {
    //-- hack for PP(xpfabric)
    Request::trustProxyData();
}
return $app;
开发者ID:hsjung22,项目名称:cross-cross-coffee-cup,代码行数:31,代码来源:app.php

示例4: setUp

 public function setUp()
 {
     Request::trustProxyData();
 }
开发者ID:neokensou,项目名称:symfony,代码行数:4,代码来源:RequestTest.php

示例5: boot

 public function boot()
 {
     if ($this->container->getParameter('kernel.trust_proxy_headers')) {
         Request::trustProxyData();
     }
 }
开发者ID:regisg27,项目名称:symfony,代码行数:6,代码来源:FrameworkBundle.php

示例6: testTrustedProxies

 public function testTrustedProxies()
 {
     $request = Request::create('http://example.com/');
     $request->server->set('REMOTE_ADDR', '3.3.3.3');
     $request->headers->set('X_FORWARDED_FOR', '1.1.1.1, 2.2.2.2');
     $request->headers->set('X_FORWARDED_HOST', 'foo.example.com, real.example.com:8080');
     $request->headers->set('X_FORWARDED_PROTO', 'https');
     $request->headers->set('X_FORWARDED_PORT', 443);
     $request->headers->set('X_MY_FOR', '3.3.3.3, 4.4.4.4');
     $request->headers->set('X_MY_HOST', 'my.example.com');
     $request->headers->set('X_MY_PROTO', 'http');
     $request->headers->set('X_MY_PORT', 81);
     // no trusted proxies
     $this->assertEquals('3.3.3.3', $request->getClientIp());
     $this->assertEquals('example.com', $request->getHost());
     $this->assertEquals(80, $request->getPort());
     $this->assertFalse($request->isSecure());
     // trusted proxy via deprecated trustProxyData()
     Request::trustProxyData();
     $this->assertEquals('2.2.2.2', $request->getClientIp());
     $this->assertEquals('real.example.com', $request->getHost());
     $this->assertEquals(443, $request->getPort());
     $this->assertTrue($request->isSecure());
     // disabling proxy trusting
     Request::setTrustedProxies(array());
     $this->assertEquals('3.3.3.3', $request->getClientIp());
     $this->assertEquals('example.com', $request->getHost());
     $this->assertEquals(80, $request->getPort());
     $this->assertFalse($request->isSecure());
     // trusted proxy via setTrustedProxies()
     Request::setTrustedProxies(array('3.3.3.3', '2.2.2.2'));
     $this->assertEquals('1.1.1.1', $request->getClientIp());
     $this->assertEquals('real.example.com', $request->getHost());
     $this->assertEquals(443, $request->getPort());
     $this->assertTrue($request->isSecure());
     // custom header names
     Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, 'X_MY_FOR');
     Request::setTrustedHeaderName(Request::HEADER_CLIENT_HOST, 'X_MY_HOST');
     Request::setTrustedHeaderName(Request::HEADER_CLIENT_PORT, 'X_MY_PORT');
     Request::setTrustedHeaderName(Request::HEADER_CLIENT_PROTO, 'X_MY_PROTO');
     $this->assertEquals('4.4.4.4', $request->getClientIp());
     $this->assertEquals('my.example.com', $request->getHost());
     $this->assertEquals(81, $request->getPort());
     $this->assertFalse($request->isSecure());
     // disabling via empty header names
     Request::setTrustedHeaderName(Request::HEADER_CLIENT_IP, null);
     Request::setTrustedHeaderName(Request::HEADER_CLIENT_HOST, null);
     Request::setTrustedHeaderName(Request::HEADER_CLIENT_PORT, null);
     Request::setTrustedHeaderName(Request::HEADER_CLIENT_PROTO, null);
     $this->assertEquals('3.3.3.3', $request->getClientIp());
     $this->assertEquals('example.com', $request->getHost());
     $this->assertEquals(80, $request->getPort());
     $this->assertFalse($request->isSecure());
     // reset
     Request::setTrustedProxies(array());
 }
开发者ID:abouthalf,项目名称:archies-recipes,代码行数:56,代码来源:RequestTest.php


注:本文中的Symfony\Component\HttpFoundation\Request::trustProxyData方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。