2017-06-17 28 views
0

背景取得IPアドレス

私は私のモバイルアプリで動作するようにREST APIを作成しています。合法的な目的のために、IPアドレスでサーバーに行われた要求を記録しておくことが重要です。

私は人々が望むならば、IPを偽装することができますが、それは懸念されていません。セキュリティのためのAPIキーがありますが、これは単にCYA予防策です。

ミドルウェアSlim 3 suggest hereを使用すると、値は常にNULLです。私はlocalhostからこれをテストしています(違いがあれば、なぜそれが起こるのかわかりません)。

問題私はget要求エンドポイントをヒットし、私はそれが常にNULLあるIPをキャプチャしよう

use \Psr\Http\Message\ServerRequestInterface as Request; 
use \Psr\Http\Message\ResponseInterface as Response; 

require '../vendor/autoload.php'; 

    $app->get('/api/v1/customer', function (Request $request, Response $response) { 
     $requestIP = $request->getAttribute('ip_address'); 
     var_dump($requestIP); 
     echo $requestIP; 
     echo 'CUSOTMERS!'; 

     return $response; 
    }); 

$app->run(); 

出力

NULL CUSOTMERS! 

質問

このを使用して要求からIP addressを捕獲するための適切な方法は何ですか0 in SlimFrameWork 3

+0

実際にどこかでミドルウェアを追加していますか?上記のコード例では表示されていません。 –

+0

@MikaTuupolaはいありがとうmike。あなたが受け入れられたIPのパラメータを渡す必要がある場合、私はラインがあったという印象を受けました。私はあなたがparamsなしでそれを呼び出すことができることを理解していませんでした。それはすべて今働いている。 – wuno

答えて

1

あなたはこれを試しましたか?

$ requestIP = $ request-> getServerParam( 'REMOTE_ADDR');

関連する問題