📅  最后修改于: 2023-12-03 15:30:02.527000             🧑  作者: Mango
在 Web 开发中,我们经常需要获取用户 IP 地址。在 CodeIgniter 中,可以通过 $this->input->ip_address()
方法获取用户 IP 地址。
CodeIgniter 的 Input
类提供了 ip_address()
方法,返回用户 IP 地址。
$ip_address = $this->input->ip_address();
有时候,用户 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。在 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。