繁体   English   中英

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

[英]How to store Users Computer Name in Database?

我试图将访问者计算机名称存储在数据库中。 我已经编写了以下代码,但它仅将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'];

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

gethostbyaddr($_SERVER['REMOTE_ADDR']);

将给出该客户端计算机所在网络中该公用IP地址的结果。 该结果将是该网络的公共主机名,而不显示客户端计算机的名称。

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

托管专用服务器或VPS(公共IP直接指向计算机)的另一个例外。 在大多数情况下,这可以显示服务器的主机名,但是不会有任何用户从其服务器访问网站。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM