如果可能,我想阻止我的ActiveX控件被不受信任的页面意外执行,因为它可以用来下载和运行文件。
一个想法是让控件知道它实例化的HTML页面的域,并提示用户是否信任该域。它会在注册表中记住这个选择。如果控件由来自不同域的页面使用,则会要求用户信任新域。
ActiveX控件是否有办法查询IE并询问从哪个域下载页面?
答案 0 :(得分:2)
是的,实施IObjectWithSite并缓存您在SetSite()
中给出的指针。
然后:
QueryInterface()
您的IID_IServiceProvider
网站。QueryService()
IServiceProvider
SID_STopLevelBrowser, IID_IServiceProvider
。QueryService()
IServiceProvider
的顶级SID_SWebBrowserApp, IID_IWebBrowser2
。