0

现在,我建立了一个网站,该网站链接到 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 窗口。

4

1 回答 1

1

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

您正在做的事情非常简单,无需运行 SOE 并编写应用程序来执行您想要的操作。如果您担心这些 .bat 脚本的外观,我会建议您插入代码并使它们更具吸引力 - 或者让它们看起来更“技术性”。您目前拥有的是一种将打印机添加到 PC 的干净、简单且有效的方法。

编辑:该应用程序可能是一个msi snapin。不过,这将是一些重要的编码,如果您不熟悉 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 文件。所有这一切都是在后台打开 bat 文件。请注意,bat 文件可以在文本中发布重要信息——例如“安装成功”或“安装失败”。如果您在不可见的情况下运行所有​​内容,您的用户将无法真正判断事情是否有效。

于 2012-08-09T01:12:06.493 回答