PHP:检测USB设备

时间:2011-02-25 20:29:36

标签: php

我正在尝试使用PHP将用户名和密码存储到USB拇指驱动器上的文本文件中。因此,当用户回来使用USB密钥登录时,应该打开一个弹出窗口,并提示输入用户名和密码。所以我的问题是如何使用PHP检测USB拇指驱动器。因此可以使用Client或ServerSide。我的操作系统是Windows 7。

我在stackoverflow上发现了关于使用shell脚本的类似问题,但无法理解,有些人可以帮助我理解

编辑:我向可能重复的问题请求解释,请不要投票支持关闭此问题!!!

5 个答案:

答案 0 :(得分:3)

你想要实现的是什么(不可能的想法非常罕见)

你想要实现它的方式不是。这无疑显示了新手程序员“比你能咀嚼更多”的心态。您无法从客户端获取数据。但是,他们可以把它推给你 -

您可以为USB驱动器创建一个小型autorun.ini文件或类似文件,该文件将主动打开客户端上指向您网站页面以处理身份验证的浏览器窗口。这种实现的细节将非常冗长,并且在安全挑战中沉浸,但是这个是可能的。

像我说的那样,你要做的事情肯定是可能的。当你问如何做某事并被告知这是不可能的时候,不要气馁。找出为什么它“不可能” - 它可能不是。如果是,请了解其他人如何做,并从那里开始。

答案 1 :(得分:2)

您无法在客户端执行此操作。我再说一遍,你不能在客户端用PHP做这件事。

答案 2 :(得分:1)

当然,您可以在插入拇指驱动器时运行PHP脚本 - 但是必须在您希望发生这种情况的计算机上安装PHP代码,该脚本必须注册为能够执行此操作的应用程序作为自动运行目标,必须设置为USB拇指驱动器的默认处理程序。

如果您希望代码在某个地方的Web服务器上运行并通过浏览器执行此操作,那么......没有。考虑到安全性,允许远程(和随机)Web服务器查看客户端PC上硬件级别的情况会比恶梦更糟糕。

答案 3 :(得分:0)

那是不可能的。
不是距离您的闪存驱动器数千英里的PHP, 出于明显的安全原因,也没有Js

答案 4 :(得分:0)

PHP无法自行确定操作系统。即使另一篇文章建议通过shell_exec使用实际的bash脚本,我甚至认为它不会起作用,因为它只能访问服务器,所以除非你实际上将USB插入服务器,否则你“运气不好。如果你在本地运行php脚本你可以使用命令行exec函数来完成它,你甚至可以通过PHP访问正确的驱动器来读取USB文件(你会有继续轮询这个驱动器。)

如果您尝试通过互联网连接进行此操作,则不能,除非您可以ssh到本地计算机。不大可能。正如其他答案所述,JS在大多数现代浏览器中无法访问本地驱动器。