当我在VB6中使用MSScriptControl
并设置UseSafeSubset = True
时,我不能做什么?我的意思是,我不能使用什么控件?或者某些核心对象无法实例化或使用?也许我不能CRUD文件?我需要一份明确的清单。
这个线程告诉注册表中有一个特殊的标志,用于设置UseSafeSubset = True
时哪些控件被阻止,但它没有详细说明。它说应该很容易搜索,但两天的谷歌搜索都没有找到。
VBScript已删除VBA中的所有不安全命令。因此无法访问文件或注册表。只有CreateObject/GetObject可以影响系统。
从帮助(C:\Windows\System32中的MsScript.hlp)
备注
正在使用的脚本引擎确定是否以及何时设置UseSafeSubset属性。如果未指定语言(language属性),则可以随时设置UseSafeSubset。
UseSafeSubset为True时不能使用的对象和过程与浏览器最高安全设置限制的对象和程序相同。
浏览器使用此(以及IOleSafety)。来自MSDN 2001年10月
如前所述,Internet Explorer会检查系统注册表,以确定控件对于初始化和/或脚本编写是否安全。Internet Explorer通过调用ICatInformation::IsClassOfCategories方法来检查注册表,以确定控件是否支持给定的类别(初始化安全还是脚本安全)。
如果控件使用组件类别管理器将自己注册为安全的,则该控件的注册表项包含一个Implemented Categories键,该键包含一个或两个子键。如果控件支持安全初始化,则设置一个子键;如果控件支持脚本安全,则设置另一个子键。安全初始化子密钥对应于CATID_SafeForInitializing;安全脚本子密钥对应于CATID_ SafeForScripting。(与Comcat.h文件中定义的组件类别的其他子密钥不同,安全初始化和脚本的子密钥是在Objsafe.h中定义的。)
请参阅URL安全区域了解限制内容这是高模板(又名限制区域)
URL action URL policy
URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY URLPOLICY_DISALLOW
URLACTION_ACTIVEX_RUN URLPOLICY_DISALLOW
URLACTION_CHANNEL_SOFTDIST_PERMISSIONS URLPOLICY_CHANNEL_SOFTDIST_PROHIBIT
URLACTION_COOKIES URLPOLICY_DISALLOW
URLACTION_COOKIES_SESSION URLPOLICY_DISALLOW
URLACTION_CREDENTIALS_USE URLPOLICY_CREDENTIALS_MUST_PROMPT_USER
URLACTION_CROSS_DOMAIN_DATA URLPOLICY_DISALLOW
URLACTION_DOWNLOAD_SIGNED_ACTIVEX URLPOLICY_DISALLOW
URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX URLPOLICY_DISALLOW
URLACTION_HTML_FONT_DOWNLOAD URLPOLICY_QUERY
URLACTION_HTML_SUBFRAME_NAVIGATE URLPOLICY_DISALLOW
URLACTION_HTML_SUBMIT_FORMS URLPOLICY_QUERY
URLACTION_HTML_USERDATA_SAVE URLPOLICY_DISALLOW
URLACTION_JAVA_PERMISSIONS URLPOLICY_JAVA_HIGH
URLACTION_SCRIPT_JAVA_USE URLPOLICY_DISALLOW
URLACTION_SCRIPT_PASTE URLPOLICY_DISALLOW
URLACTION_SCRIPT_RUN URLPOLICY_ALLOW
URLACTION_SCRIPT_SAFE_ACTIVEX URLPOLICY_DISALLOW
URLACTION_SHELL_FILE_DOWNLOAD URLPOLICY_DISALLOW
URLACTION_SHELL_INSTALL_DTITEMS URLPOLICY_DISALLOW
URLACTION_SHELL_MOVE_OR_COPY URLPOLICY_QUERY
URLACTION_SHELL_VERB URLPOLICY_DISALLOW