PHP 打印机网络服务器


PHP Printer Webserver

现在我设置了一个网站,链接到LAN上的脚本,这些脚本允许我安装我管理的许多网络打印机。基本上,它只是一个HTML页面,非常不安全地指向局域网另一部分上的脚本,该脚本将其作为TCP/IP打印机安装在本地计算机上。

<a href="file://server/prnt/HP3200.bat>HP 3200 (room C204)</a>
<a href="file://server/prnt/HP3200.bat>HP 3200 (room C206)</a>
<a href="file://server/prnt/DELL1500.bat>DELL 1500</a>
<a href="file://server/prnt/TOS120.bat>Toshiba 120</a>

有谁知道我怎样才能使它更安全、更高效?Linux 服务器还托管 PHP 页面,因此服务器端脚本不会成为问题。网站必须有更好的方法来管理打印机的许多IP,名称和驱动程序。我宁愿网站可以以某种方式实际安装打印机,而不是在获取.inf驱动程序文件并添加打印机时向没有经验的PC用户显示丑陋的DOS窗口。

这真的不是你可以用PHP做的事情。PHP在服务器本身上执行的所有内容,因此它不能以您希望的方式代表用户做任何事情。由于Javascript的安全限制,它不是一个选项(如果javascript可以更改这些类型的设置并执行这样的代码,那将是一件非常非常糟糕的事情)。

你正在做的事情几乎很容易,不需要运行一个SOE和一个编写一个应用程序来做你想做的事情。如果您担心这些.bat脚本的外观,我建议您在代码中弹出并使它们更具吸引力 - 或者使它们看起来更"技术"。您目前拥有的是一种将打印机添加到PC的干净,简单和有效的方法。

编辑:该应用程序可能是 msi 管理单元。不过,这将是一些重要的编码,如果您不熟悉Windows编程,则更是如此。

编辑 2:在重新阅读您的评论时,您可以执行以下操作:

制作一个 .VBS 文件中包含以下内容:

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:'Batch Files'syncfiles.bat" & Chr(34), 0
Set WshShell = Nothing

让您的网页指向这些 VBS 文件而不是蝙蝠文件。所有这一切都是在后台打开蝙蝠文件。请注意,bat 文件可以在文本中发布重要信息 - 例如"安装成功"或"安装失败"。如果您以隐形方式运行所有内容,您的用户将无法真正判断事情是否有效。