2017-06-17 1 views
0

Contexteadresse IP Retrieving SlimFramework 3 avec rka-ip-address-middleware

Je crée un REST API de travailler avec mon application mobile. Il est important que je garde une trace de toute demande faite au serveur par adresse IP à des fins de légalité. Je comprends que les gens peuvent usurper l'adresse IP s'ils le veulent, mais ce n'est pas un problème. Il y a une clé API pour la sécurité, c'est simplement une précaution de l'ACY.

En utilisant le middleware Slim 3 suggest here la valeur est toujours NULL Je suis en train de tester ceci depuis mon localhost (si cela fait une différence, mais je ne sais pas pourquoi).

Problème

Quand je frappe le point final de requête get et j'essaie de capturer l'IP, il est toujours NULL.

Exemple

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(); 

Sortie

NULL CUSOTMERS! 

Question

Quelle est la bonne façon de capturer l'IP address de la demande en utilisant ce rka-ip-address-middleware middleware dans SlimFrameWork 3

+0

Est-ce que vous ajoutez réellement l'intergiciel quelque part? Il n'est pas montré dans l'exemple de code ci-dessus. –

+0

@MikaTuupola oui merci mike. J'étais sous l'impression que la ligne était pour si vous avez besoin de passer les paramètres de la propriété intellectuelle acceptée. Je ne savais pas que vous pouvez l'appeler sans paramètres. Tout fonctionne maintenant. – wuno

Répondre

1

Avez-vous essayé quelque chose comme ça?

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