我只是有一个问题,我想获取访问者的 IP 地址。一切都很好,但一位用户只给了我 IPv6。这是我可以给你的代码,而且我刚刚安装了cloudflare apache2 Mod。
$_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"] ? $_SERVER["HTTP_CF_CONNECTING_IP"] : $_SERVER["REMOTE_ADDR"];
$ip = $_SERVER['REMOTE_ADDR'];
if(isset($_SERVER['HTTP_CF_CONNECTING_IP'])){
$ip = $_SERVER['HTTP_CF_CONNECTING_IP'];
}
Run Code Online (Sandbox Code Playgroud)
执行此操作的唯一方法是通过以下方式禁用 CloudFlare 中的 IPv6 支持:
1) 在 DNS 中删除所有 AAAA 记录(仅保留 A 记录)。2) 进入 CloudFlare 仪表板上的网络并关闭“IPv6 兼容性”。
但我不推荐这样做;您可能很快就会发现有人无法连接到您的网站。相反,最好确保您的平台完全支持 IPv6。
| 归档时间: |
|
| 查看次数: |
5886 次 |
| 最近记录: |