【发布时间】:2011-03-31 05:28:32
【问题描述】:
如果可能,我想防止我的 ActiveX 控件被不受信任的页面意外执行,因为它可用于下载和运行文件。
一个想法是让控件知道实例化它的 HTML 页面的域,并提示用户是否信任该域。它会在注册表中记住这个选择。如果控件由从不同域呈现的页面使用,则将要求用户信任新域。
有没有办法让 ActiveX 控件查询 IE 并询问页面是从哪个域下载的?
【问题讨论】:
标签: internet-explorer com activex atl
如果可能,我想防止我的 ActiveX 控件被不受信任的页面意外执行,因为它可用于下载和运行文件。
一个想法是让控件知道实例化它的 HTML 页面的域,并提示用户是否信任该域。它会在注册表中记住这个选择。如果控件由从不同域呈现的页面使用,则将要求用户信任新域。
有没有办法让 ActiveX 控件查询 IE 并询问页面是从哪个域下载的?
【问题讨论】:
标签: internet-explorer com activex atl
是的,实现IObjectWithSite 并缓存你在SetSite() 中给出的指针。
然后:
QueryInterface()您的网站IID_IServiceProvider。QueryService() IServiceProvider 代表 SID_STopLevelBrowser, IID_IServiceProvider。QueryService() 顶级IServiceProvider 为SID_SWebBrowserApp, IID_IWebBrowser2。 【讨论】: