我在问是否有一种方法可以使用 php 或 javacript 获取 pc 的名称、ip 和 mac?
我需要这个来配置我开发的应用程序中的视图。在这种情况下,用户使用 Windows 访问我使用 PHP 框架、codeignter 构建的应用程序,显然我使用 PHP 连接数据库。
为什么PC的名字?好 !网络中的电脑名称可以替换为另一台同名电脑。用mac地址不行。但这是我无法获得访问我想知道的应用程序的 PC 的名称、IP 和 MAC 的一种方式。
我在问是否有一种方法可以使用 php 或 javacript 获取 pc 的名称、ip 和 mac?
我需要这个来配置我开发的应用程序中的视图。在这种情况下,用户使用 Windows 访问我使用 PHP 框架、codeignter 构建的应用程序,显然我使用 PHP 连接数据库。
为什么PC的名字?好 !网络中的电脑名称可以替换为另一台同名电脑。用mac地址不行。但这是我无法获得访问我想知道的应用程序的 PC 的名称、IP 和 MAC 的一种方式。
如果没有一些浏览器插件客户端,就无法获取 MAC 地址。
此外,您应该知道更改 MAC 地址非常容易。此外,并不是每个人都拥有一个。以太网不是互联网访问的先决条件。
您可以从 PHP 中的数据中获取远程地址$_SERVER
,但在代理或 NAT 的情况下,它并不总是真正的客户端 IP。
仅使用 PHP、JavaScript 和其他任何东西是不可能的。
不过,您可以使用$_SERVER['REMOTE_ADDR']
. 请注意,如果用户使用某种 IP 隐藏软件,如隐藏我的 IP 等,这也不起作用。
对于 PC 名称和 Mac 地址,正如 Brad 所提到的,您需要一个客户端插件,使用另一种编程语言,很可能是 Java 或 Flash。
使用 PHP,您无法获得有关计算机的具体信息,除非已将其输入到表单或类似的东西中。
但是,如果你去这个问题,你会发现如何使用 Javascript 学习名称。
要获取真实 IP 地址,您可以使用此代码
<?php
//whether ip is from share internet
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip_address = $_SERVER['HTTP_CLIENT_IP'];
}
//whether ip is from proxy
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip_address = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
//whether ip is from remote address
else
{
$ip_address = $_SERVER['REMOTE_ADDR'];
}
echo $ip_address;
?>