如何使用 PHP 获取客户端的 IP 地址和端口?

MKM*_*MKM 1 php ip port client

如何使用 PHP 获取客户端的 IP 和端口?

我尝试了下面的脚本,但它只给了我 IP 地址。

<?php print $_SERVER['REMOTE_ADDR']; ?>
Run Code Online (Sandbox Code Playgroud)

小智 10

要获取连接设备的端口,您可以使用 $_SERVER['REMOTE_PORT']

$ipAddress = $_SERVER['REMOTE_ADDR'];
$port      = $_SERVER['REMOTE_PORT'];
Run Code Online (Sandbox Code Playgroud)


mme*_*tes 5

获取客户端的源IP和端口

对于那些具有最少网络知识的人来说,正确答案

用解释性文本完成@marcolz 答案。

长话短说——echo $_SERVER['REMOTE_ADDR'] . ":" . $_SERVER['REMOTE_PORT'];

其背后的意义:

每个人都应该知道,拥有有关客户提出的每个请求的数据非常重要,并在未来至少五年内记录他们的访问数据,以便在发生版权或用户可能陷入的其他任何法律纠纷时进行自我保护。

IPv4 世界由 ASN(自治系统编号)所有者和与其共享身份的人(即所谓的最终用户)组成。

由于 IPv4 已经变得稀缺,大多数 ISP(互联网服务提供商)通过非常大的 NAT(网络地址转换)(称为 CG-NAT(运营商级网络地址转换))为那些不付费的客户提供对万维网的访问。足以值得为自己建立一个公共 IPv4 块,基本上所有最终用户的连接都是通过此建立的,并且在发生事情时知道谁是聪明人的唯一方法是不仅知道他们的 IP 地址,还知道他们使用的端口的请求。

如果您在应用程序上使用 PHP,您可以通过记录请求源 IP 和端口来保护自己。

为此,您可以使用以下代码:

echo $_SERVER['REMOTE_ADDR'] . ":" . $_SERVER['REMOTE_PORT'];
Run Code Online (Sandbox Code Playgroud)

在这里,我们将请求源 IP 地址和端口用中间的冒号连接起来,回显它们以便查看结果。

您可以通过在侦听 tcpdump 时执行请求来检查信息的准确性,如果 tcpdump 请求中使用的端口与浏览器显示的端口相同,则一切都会按预期工作。

来自外界的欢呼!