php - 如何知道客户端在连接到我的服务器时使用的 Internet 协议(protocol) (IP) 版本?

标签 php

我想通过 php 检查是否有人通过 IPv4 或 IPv6 连接到我的网站。

客户端地址可以在$_SERVER["REMOTE_ADDR"]中找到但是如何判断是IPv4还是IPv6?

最佳答案

检查 IPv4

$ip = "255.255.255.255";
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {    
    echo "Valid IPv4";
}
else {
    echo "Invalid IPv4";
}

检查 IPv6

$ip = "FE80:0000:0000:0000:0202:B3FF:FE1E:8329";    
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
    echo "Valid IPv6";
}
else {
    echo "Invalid IPv6";
}

有关更多信息,请查看 PHP 函数 filter_varslist of filters for validation .

关于php - 如何知道客户端在连接到我的服务器时使用的 Internet 协议(protocol) (IP) 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1448871/

相关文章:

php - 如何显示用户从表单生成器中选择的最后一个字段以及字段名称和字段类型?

在同一页上有进程的 PHP 表单?

javascript - PHP 变量到 JavaScript 变量到 HTML 跨度

php - Laravel 验证检查数组大小的最小值和最大值

php - foreach循环的迭代问题

php - 显示结果表 SQL

php - SQL 图像不显示 header 内容

php - curl 函数在 php5.6 中不起作用

PHP 相当于 `du` 命令?

php - 将用户添加到 phplist 数据库