如何从 cURL POST 保存连接 IP

How to save connecting IP from cURL POST

我有一个 LAMP 堆栈,我在 php 文件中设置了以下代码:

if (isset($_POST['name'], $_POST['age'])) {
        $db = new Mysqli("localhost", "test", "123", "postdata");
        $name = $db->real_escape_string($_POST['name']);
        $age = (int)$_POST['age'];
        $query = "INSERT INTO data SET mydata='$name, $age, $ip'";
        $db->query($query);
}

当我通过 cmd 卷曲数据时,例如"curl -d name=peter -d age=32 localhost/isproject/test.php",我还想保存 IP 地址并将其转发到 MySQL 数据库,以确保带有姓名和年龄的条目也带有传输 IP。

我检查了多个灵魂并使用了以下代码:

if(!empty($_SERVER["HTTP_CLIENT_IP"])){
        $ip = $_SERVER["HTTP_CLIENT_IP"];
}else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){
        $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}else{
        $ip = $_SERVER["REMOTE_ADDR"];
}

但是,这会导致输入下图:

这是因为代码使用不当还是仅仅因为我从托管服务器的设备上卷曲了?不管我是这个领域的新手,我都希望得到一些反馈!

确实是从您自己的设备上使用 curl::1 代表 IPv6 格式的 127.0.0.1