如何在PHP中获取客户端IP地址?HTTP_X_FORWARDED_FOR和REMOTE_ADDR的问题
大家好!我是一名PHP新手开发者,遇到了获取网站访问者真实IP地址的问题。
我正在编写一个简单的用户操作日志系统。我需要保存发起请求的IP地址。我使用标准变量 `$_SERVER['REMOTE_ADDR']`,但我注意到它经常显示127.0.0.1(当我在本地测试时)或者我的服务器地址,而不是客户端的真实IP。
以下是我目前使用的简化代码:
```php
```
我在论坛上读到需要检查 `HTTP_X_FORWARDED_FOR` 或 `HTTP_CLIENT_IP`,但当我尝试时,得到了空字符串或null。此外,我听说这些头部可以被伪造,因此不安全。
请告诉我如何正确且可靠地获取通过代理、CDN(例如Cloudflare)或负载均衡器访问的真实用户的IP地址?需要一个通用方法,能在大多数情况下工作。