适用于:Access 2013、Office 2013
为了帮助确保 Internet 环境安全,需要将由 RDS.DataSpace 对象的 CreateObject 方法实例化的任何业务对象标记为“可安全编写脚本”。首先需要确保在系统注册表的“License”区域中将它们标记为“可安全编写脚本”,然后才能在 DCOM 中使用它们。
若要将业务对象手动标记为“可安全编写脚本”,请创建一个扩展名为 .reg 的文本文件,并在其中包含以下文本。 下面的两组数字可以启用“可安全编写脚本”功能:
[HKEY_CLASSES_ROOT\CLSID\<MyActiveXGUID>\Implemented
Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}]
[HKEY_CLASSES_ROOT\CLSID\<MyActiveXGUID>\Implemented
Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}]
其中 <,MyActiveXGUID> 是业务对象的十六进制 GUID 编号。 将其保存,并通过使用注册表编辑器或双击 Windows 资源管理器中的 .reg 文件将其合并到注册表中。
在 Microsoft Visual Basic 中创建的业务对象可以使用包和部署向导自动标记为“脚本安全”。 当该向导要求您指定安全设置时,请选择“Safe for initialization”和“Safe for scripting”。
在最后一步,“应用程序安装向导”会创建一个 .htm 文件和一个 .cab 文件。 然后,您可以将这两个文件复制到目标计算机上,并双击该 .htm 文件以加载相应的页面并正确注册服务器。
由于默认情况下业务对象将安装在 Windows\System32\Occache 目录中,因此请将其移动到 Windows\System32 目录,并更改 HKEY_CLASSES_ROOT\CLSID\<MyActiveXGUID>\InprocServer32 注册表项以匹配正确路径。
注意
标记为“可安全编写脚本”或“可安全初始化”的业务对象可以由任何人通过网络实例化和初始化。 对于任何自定义业务对象,都不得随意设计和实现。 这样的对象不得公开安全威胁,因为黑客会利用这些威胁来获取对宿主服务器上敏感区域的访问并对其造成危害。