2017-06-17 3 views
0

HintergrundApportieren IP-Adresse in SlimFramework 3 mit RKA-ip-adresse-Middleware

Ich bin ein REST API zu schaffen mit meinen mobilen App zu arbeiten. Es ist wichtig, dass ich eine Anfrage über die IP-Adresse an den Server protokolliere.

Ich verstehe Leute können die IP spoof wenn sie wollen, aber das ist kein Problem. Es gibt einen API-Schlüssel für die Sicherheit, dies ist einfach eine CYA-Vorsichtsmaßnahme.

Mit der Middleware Slim 3 suggest here ist der Wert immer NULL Ich teste dies von meinem localhost (Wenn das einen Unterschied macht, aber ich weiß nicht warum).

Problem

Wenn ich den Erhaltungs-Anforderungs-Endpunkt getroffen und ich versuche, die IP zu erfassen es immer NULL ist.

Beispiel

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

Ausgabe

NULL CUSOTMERS! 

Frage

Was ist der richtige Weg, um die IP address aus der Anforderung mit dieserzu erfassen 0 in SlimFrameWork 3

+0

Fügen Sie die Middleware tatsächlich irgendwo hinzu? Dies wird im obigen Beispielcode nicht angezeigt. –

+0

@MikaTuupola ja danke Mike. Ich hatte den Eindruck, dass Linie war, wenn Sie Parameter der akzeptierten IP übergeben müssen. Ich wusste nicht, dass du es ohne Params nennen kannst. Es funktioniert alles jetzt. – wuno

Antwort

1

Haben Sie so etwas versucht?

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

Verwandte Themen