本文整理汇总了PHP中Psr7Middlewares\Middleware::ClientIp方法的典型用法代码示例。如果您正苦于以下问题:PHP Middleware::ClientIp方法的具体用法?PHP Middleware::ClientIp怎么用?PHP Middleware::ClientIp使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Psr7Middlewares\Middleware
的用法示例。
在下文中一共展示了Middleware::ClientIp方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testIps
/**
* @dataProvider ipsProvider
*/
public function testIps(array $headers, array $CLIENT_IPS, $CLIENT_IP)
{
$response = $this->execute([Middleware::ClientIp(), function ($request, $response, $next) {
$response->getBody()->write(json_encode(['CLIENT_IPS' => $request->getAttribute('CLIENT_IPS'), 'CLIENT_IP' => $request->getAttribute('CLIENT_IP')]));
return $response;
}], '', $headers);
$body = json_decode((string) $response->getBody(), true);
$this->assertEquals($body['CLIENT_IPS'], $CLIENT_IPS);
$this->assertEquals($body['CLIENT_IP'], $CLIENT_IP);
}
示例2: testFirewall
/**
* @dataProvider ipsProvider
*/
public function testFirewall(array $headers, array $trusted, array $untrusted, $status)
{
$response = $this->execute([Middleware::ClientIp(), Middleware::Firewall()->trusted($trusted)->untrusted($untrusted)], '', $headers);
$this->assertEquals($status, $response->getStatusCode());
}
示例3: Logger
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
use Psr7Middlewares\Middleware;
use League\Flysystem\Adapter\Local;
use League\Flysystem\Filesystem;
use Cache\Adapter\Filesystem\FilesystemCachePool;
$app = AppFactory::create();
$errorLog = new Logger('error');
$errorLog->pushHandler(new StreamHandler('log/error.log', Logger::DEBUG));
ErrorHandler::register($errorLog);
$accessLog = new Logger('error');
$accessLog->pushHandler(new StreamHandler('log/access.log', Logger::DEBUG));
$filesystemAdapter = new Local('cache/');
$filesystem = new Filesystem($filesystemAdapter);
$pool = new FilesystemCachePool($filesystem);
$app->pipe(Middleware::ClientIp()->remote(false));
// required for AccessLog, Geolocate
$app->pipe(Middleware::AccessLog($accessLog)->combined(true));
$app->pipe(Middleware::TrailingSlash(false)->redirect(301));
$app->pipe(Middleware::FormatNegotiator());
// required for Expires, Minify
//$app->pipe(Middleware::Expires());
//$app->pipe(Middleware::Minify());
$app->pipe(Middleware::BlockSpam());
//$app->pipe(Middleware::PhpSession()->name('DetectorSessionId'));
//$app->pipe(Middleware::Geolocate()->saveInSession(true));
//$app->pipe(Middleware::Cache($pool));
$app->pipe(Middleware::responseTime());
$app->pipeRoutingMiddleware();
$app->pipeDispatchMiddleware();
$cache = new File(array(File::DIR => 'cache/'));