【问题标题】:From an ActiveX control, can I tell what domain it is being created from?从 ActiveX 控件中,我可以知道它是从哪个域创建的吗?
【发布时间】:2011-03-31 05:28:32
【问题描述】:

如果可能,我想防止我的 ActiveX 控件被不受信任的页面意外执行,因为它可用于下载和运行文件。

一个想法是让控件知道实例化它的 HTML 页面的域,并提示用户是否信任该域。它会在注册表中记住这个选择。如果控件由从不同域呈现的页面使用,则将要求用户信任新域。

有没有办法让 ActiveX 控件查询 IE 并询问页面是从哪个域下载的?

【问题讨论】:

    标签: internet-explorer com activex atl


    【解决方案1】:

    是的,实现IObjectWithSite 并缓存你在SetSite() 中给出的指针。

    然后:

    1. QueryInterface()您的网站IID_IServiceProvider
    2. QueryService() IServiceProvider 代表 SID_STopLevelBrowser, IID_IServiceProvider
    3. QueryService() 顶级IServiceProviderSID_SWebBrowserApp, IID_IWebBrowser2
    4. 致电get_LocationURL

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多