javascript - 从网站运行 hide cmd.exe(使用 javascript 或 VBScript)
问题描述
为什么以下示例不起作用?另外,我想在函数中隐藏cmd.exe的窗口。createEmptyFile()
浏览器可能不应该阻止此代码:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Default Page Title</title>
</head>
<body>
<script type="text/javascript" language="javascript">
function pingItjs(ipAddress) {
var oShell = new ActiveXObject("wscript.shell");
oShell.Run("cmd.exe /k ping" + ipAddress);
}
function createEmptyFile() {
var oShell = new ActiveXObject("wscript.shell");
oShell.Run("cmd.exe /c cd %tmp% && echo hello > EmptyFile");
}
</script>
<script language="VBScript">
function pingIt(ipAddress)
set WshShell = CreateObject("WScript.Shell")
WshShell.Run("cmd.exe /k ping " & ipAddress)
end function
</script>
<a href="javascript:pingItjs('216.58.215.78')">ping</a>
<div onclick="call pingIt('216.58.215.78')">ping</div>
<a href="javascript:createEmptyFile()">ping</a>
</body>
</html>
解决方案
活动X
MDN 参考说明:
注意:Internet Explorer 9 标准模式、Internet Explorer 10 标准模式、Internet Explorer 11 标准模式以及 Windows 应用商店应用程序或更高版本不支持在远程服务器上创建 ActiveXObject。
因此,除非脚本在您的本地机器上运行,否则代码将不会运行。看起来这在内部网的情况下可能会有些延伸,MDN 说:
重要提示:ActiveX 对象可能存在安全问题。要使用 ActiveXObject,您可能需要在 Internet Explorer 中为相关安全区域调整安全设置。例如,对于本地 Intranet 区域,您通常需要将自定义设置更改为“初始化并编写未标记为可安全执行脚本的 ActiveX 控件”。
VBScript
VBScript 是一种专有的 Microsoft 语言,因此只能在 IE 中使用。看到这个答案。此链接(来自刚刚引用的答案)指出 VBScript 在 IE 11 中已被弃用,并且在边缘模式下的 IE 11 中将不起作用。
可能,这可以帮助您使 VBScript 在 IE 11 中工作,即使在 Edge 兼容模式下,
<meta http-equiv="x-ua-compatible" content="IE=10">
推荐阅读
- mysql - 正则表达式查找字符串和下一个字符不应该是数字
- typescript - 找不到 TypeScript 模块文件
- r-markdown - 使用 stargazer 创建回归表时无法更改 NULL 长度错误
- python - 没有从 Yahoo-Finance 获取数据
- grouping - 在 graylog、prometheus、grafana 等工具中对历史警报进行分组
- java - 在没有用户和密码数据的情况下使用 java 在 WebSphere MQ 上配置 jms
- python - 如何使用额外的图像相关参数在 Keras 中创建自定义成本函数?
- r - 在R中加载xlsx包的java版本错误
- angular - 如何在单击highcharts angular中的x范围图时动态创建时间线图
- ios - 如何在通过控制器移动时隐藏 UINavigationBar?