如何从浏览器(PHP或Java)执行MSDOS命令

问题描述 投票:-1回答:3

我有一个USB线显示器,类似于商店销售点系统中使用的那些。

要将ABC打印到此行显示,请运行以下命令:

echo ABC > \\.\LCLD9\

这会将ABC打印到行显示。

我试图找出如何控制网站的输出,如果可能的话,虽然我不确定它是否可行,因为我可以看到能够从网页上运行任意命令的安全问题。

java php windows command-prompt
3个回答
1
投票

我试图找出如何控制网站的输出,如果可能的话,虽然我不确定它是否可行,因为我可以看到能够从网页上运行任意命令的安全问题。

这在未修改的系统上确实是不可能的。网页无法在用户的计算机上运行任意命令 - 这是安全漏洞的定义。

如果您可以让用户提前安装软件,则可以使用带有serialusbnativeMessaging API的Chrome扩展程序向网页公开此功能。


0
投票

0
投票

有几种方法可以做到这一点。一种方法是让您的网站将当前文本存储在某处,然后在本地PC上构建一个脚本,询问您的网站当前文本并更新显示。您可以使用任务计划程序安排该脚本定期运行。

这个脚本可以这么简单(假设PHP安装在本地PC上):

<?php
$text = file_get_contents('https://example.com/current_text.php');
shell_exec('echo "' . $text . '" > \\.\LCLD9\');

如果您没有安装PHP并且不想安装它,您可以在Powershell脚本或普通旧批处理文件中执行类似的操作。

请注意,您可能希望为此添加一些额外的检查,您不希望在显示404错误页面,500内部服务器错误或网络错误时意外混乱。

© www.soinside.com 2019 - 2024. All rights reserved.