通过COM,可以获得对目标系统的绝对控制权。例如:在IE中使用javascript的ActiveXObject对象,可以创建某些对象,这些对象被设计为可以直接访问或与系统属性和文件进行交互。人们会认为常识意味着用户在安装浏览器后立即禁用IE中的ActiveX功能,以确保他们的系统在浏览网络时受到保护,或者至少密切关注他们允许的网站。但是,我怀疑许多普通PC用户都知道如何或为什么要这样做,或者只是厌倦了随时间的微观管理。我认为任何个人电脑用户或管理我的COM类迎合将非常感激不必处理。谢天谢地,它看起来像IE版本打包ActiveX默认现在禁用。VB:获取编译的DLL的调用应用程序信息; COM安全
我已经建立了一个非常多在VB中多功能的COM类库。我不打算从任何网站调用它,但该功能只是COM平台的一部分。我想阻止从IE中调用该库,除非该网站位于白名单域中,以主动保护用户(并最终保护整个Intranet)免受恶意网站的伤害。 VB.Net中的最佳方法是告诉哪个应用程序调用了我的DLL,以便能够判断它是否从任何源自IE的命令或进程中调用?而且,什么域名称为我的DLL?
编辑:我相信这可能是重复的。请参阅:Calling Assembly to get Application Name VB.NET
System.Environment.GetCommandLineArgs()(0)
让我调用应用程序路径。有了这些信息,我可以将它与黑/白名单的应用程序进行比较。现在问题已解决。
“我已经构建了一个非常灵活的COM类库” - 这是什么意思? – 2010-10-15 01:35:08
@Mitch小麦:这意味着我的com类无意中让调用应用程序完全控制客户端系统,包括它是从javascript衍生出来的。 – 2010-10-15 01:38:57
@ bob-the-destroyer:这听起来不是个好主意...... – 2010-10-15 02:38:32