gpt4 book ai didi

php - 如何在数据库中存储用户计算机名?

转载 作者:行者123 更新时间:2023-11-30 22:58:19 26 4
gpt4 key购买 nike

我正在尝试将访客计算机名称存储在我的数据库中。我写了下面的代码,但它只在数据库中保存了 ip 地址而不是计算机名。我使用 gethostbyadd 获取计算机名称。

请告诉我其他一些在数据库中存储访问者计算机名称的方法。

<?php

include 'connect.php';


$ip = $_SERVER['REMOTE_ADDR'];
$host_name= gethostbyaddr($_SERVER['REMOTE_ADDR']);


$query= "insert into visitors_data (ip_address, computer_name, date, time)
values('$ip', '$host_name', NOW(), CURTIME())";


mysql_query($query);

?>

最佳答案

在我的快速查找中,它可以适用于本地网络,它可以正常工作并返回计算机名。但是当从远程位置访问页面时,然后

$_SERVER['REMOTE_ADDR'];

将返回网络的公共(public) IP 地址,而不是特定的客户端机器。还有

gethostbyaddr($_SERVER['REMOTE_ADDR']);

将给出来自该客户端计算机所在网络的公共(public) IP 地址的结果。此结果将是该网络的公共(public)主机名,不显示客户端计算机的名称。

除此之外,这将再次取决于该 IP 和域的反向 PTR 记录是否已配置。如果不是,则该函数将返回托管提供商的主机名或仅返回 IP(通常作为该 IP 的子域,给定 ISP/主机)

托管专用服务器或 VPS 还有一个异常(exception),其中公共(public) IP 直接指向机器。这在大多数情况下可以显示服务器的主机名,但不会有任何用户从他们的服务器访问网站。

希望这对您有所帮助。

关于php - 如何在数据库中存储用户计算机名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25237657/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com