简体   繁体   中英

Laravel's `$request->ip()` doesn't return the last digit of the IP address

I'm using Laravel 5, PHP 7, and Homestead, and for some reason when I try to access $request->ip() I get back 192.168.10.1 . But in my /etc/hosts file I have 192.168.10.10 homestead.test . Then when I var_dump($request); I get the following

...
 'HTTP_HOST' => string 'homestead.test' (length=14)
 'REDIRECT_STATUS' => string '200' (length=3)
 'SERVER_NAME' => string 'homestead.test' (length=14)
 'SERVER_PORT' => string '80' (length=2)
 'SERVER_ADDR' => string '192.168.10.10' (length=13)
 ...
 'REMOTE_ADDR' => string '192.168.10.1' (length=12)

Has anyone seen this before where the last value gets trimmed from the IP address?

In your case, $request->ip() means REMOTE_ADDR , which is the IP( 192.168.10.1 ) your browser is using.

SERVER_NAME and SERVER_ADDR is homestead.test and 192.168.10.10 , that's your web host's name and your web host's IP.

One of your computer's IP is 192.168.10.1 , your homestead's IP is 192.168.10.10 . So when you access your PHP program, your browser is using 192.168.10.1 to connect to homestead's 192.168.10.10 .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM