📜  codeigniter 获取用户 ip - PHP (1)

📅  最后修改于: 2023-12-03 15:30:02.527000             🧑  作者: Mango

CodeIgniter 获取用户 IP - PHP

在 Web 开发中,我们经常需要获取用户 IP 地址。在 CodeIgniter 中,可以通过 $this->input->ip_address() 方法获取用户 IP 地址。

获取用户 IP

CodeIgniter 的 Input 类提供了 ip_address() 方法,返回用户 IP 地址。

$ip_address = $this->input->ip_address();
获取用户真实 IP

有时候,用户 IP 地址可能会被代理修改。为了获取真实的用户 IP 地址,需要从请求头中获取 IP。在 CodeIgniter 中,可以使用以下代码获取真实 IP:

if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
    $ip_address = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ip_address = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
    $ip_address = $_SERVER['REMOTE_ADDR'];
}

代码中,首先判断是否存在 HTTP_CLIENT_IP,如果存在则使用 HTTP_CLIENT_IP 作为 IP;如果不存在 HTTP_CLIENT_IP,则判断是否存在 HTTP_X_FORWARDED_FOR,如果存在则使用 HTTP_X_FORWARDED_FOR 作为 IP;如果都不存在,则使用 REMOTE_ADDR 作为 IP。

返回格式
# CodeIgniter 获取用户 IP - PHP 

在 Web 开发中,我们经常需要获取用户 IP 地址。在 CodeIgniter 中,可以通过 `$this->input->ip_address()` 方法获取用户 IP 地址。 

## 获取用户 IP 

CodeIgniter 的 `Input` 类提供了 `ip_address()` 方法,返回用户 IP 地址。 

```php
$ip_address = $this->input->ip_address();
获取用户真实 IP

有时候,用户 IP 地址可能会被代理修改。为了获取真实的用户 IP 地址,需要从请求头中获取 IP。在 CodeIgniter 中,可以使用以下代码获取真实 IP:

if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
    $ip_address = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ip_address = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
    $ip_address = $_SERVER['REMOTE_ADDR'];
}

代码中,首先判断是否存在 HTTP_CLIENT_IP,如果存在则使用 HTTP_CLIENT_IP 作为 IP;如果不存在 HTTP_CLIENT_IP,则判断是否存在 HTTP_X_FORWARDED_FOR,如果存在则使用 HTTP_X_FORWARDED_FOR 作为 IP;如果都不存在,则使用 REMOTE_ADDR 作为 IP。