当我在VB6中使用MSScriptControl
并设置UseSafeSubset = True
时,我不能做什么样的事情?我的意思是,我不能使用哪些控件?或者也许某些核心对象无法实例化或使用?也许我不能CRUD文件?我需要一份明确的清单。
This thread告诉注册表中的一个特殊标志,它设置UseSafeSubset = True
时阻止了哪些控件,但是没有详细说明。它说它应该很容易搜索,但两天的谷歌搜索没有发现任何东西。
答案 0 :(得分:1)
VBScript已删除VBA中的所有不安全命令。所以没有文件或注册表访问。只有CreateObject / GetObject才会影响系统。
来自帮助(C:\ Windows \ System32中的MsScript.hlp)
<强>说明强>
正在使用的脚本引擎确定是否以及何时设置了UseSafeSubset属性。如果未指定语言(语言属性),则可以随时设置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