脚本安全与 HTML 应用程序入门
脚本安全相关内容
脚本签名与运行安全
在脚本签名过程中,如果指定了特定的证书存储,它也会被传递给 Signer 对象。以下是相关代码:
If WScript.Arguments.Named.Exists(“store”) Then Store = WScript.Arguments.Named(“store”) Else Store =” “ End If Signer.SignFile File, Cert, Store需要注意的是,任何人都可以进入文件并修改其签名,但修改后的签名将与脚本不匹配,无法通过 WSH 进行的信任测试。同样,脚本签名后对其代码的任何更改也会导致信任测试失败。
若不想使用软件限制策略,可依靠 WSH 自身的内置安全策略,该策略允许指定仅运行签名脚本,未签名脚本将无法运行。设置此策略的步骤如下:
1. 打开注册表项HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Script Host\Settings\TrustPolicy。
2. 设置值为 0 以运行所有脚本;设置为 1 时,若脚本不可信则提示用户;设置为 2 时,仅运行可信脚本。可信脚本是指由用户计算机配置为信任的证书进行数字签名的脚本。
WSH 信任策略较为复杂,例如还可在HKEY_LOCAL_MACHINE中设置该注册表项,此设置将应用于在HKEY_C