繁体   English   中英

在Amazon EC2 / Nginx中获取客户端IP

[英]get Client IP in Amazon EC2 / Nginx

我正在尝试使用Laravel 5.2获取客户端IP

它不是敏感信息,所以我真的不在乎IP欺骗。

我在模型中尝试了这种脚本:

if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR']) {
    $clientIpAddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
    $clientIpAddress = $_SERVER['REMOTE_ADDR'];
}

但是当我运行php artisan migration时,出现错误

Undefined index: HTTP_X_FORWARDED_FOR  

要么

Undefined index: REMOTE_ADDR

但是当我跑步时:

<?php dd($_SERVER); ?>

我懂了

"SERVER_ADDR" => "10.0.1.194"
"REMOTE_PORT" => "38151"
"REMOTE_ADDR" => "201.141.124.254"

我不明白!

这仅仅是因为您在CLI中运行了此命令(使用控制台来运行迁移)。

CLI模式下的PHP具有另一个$ _SERVER,并且没有REMOTE_ADDR密钥。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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