0
如果可能,我想阻止我的ActiveX控件被不可信頁面意外執行,因爲它可以用來下載和運行文件。從ActiveX控件,我可以告訴它正在創建哪個域?
一個想法是讓控件知道它實例化的HTML頁面的域,並提示用戶是否信任該域。它會記住註冊表中的這個選擇。如果該控件是由不同域呈現的頁面使用的,則會要求用戶信任該新域。
有沒有辦法讓ActiveX控件查詢IE並詢問從哪個域下載頁面?
如果可能,我想阻止我的ActiveX控件被不可信頁面意外執行,因爲它可以用來下載和運行文件。從ActiveX控件,我可以告訴它正在創建哪個域?
一個想法是讓控件知道它實例化的HTML頁面的域,並提示用戶是否信任該域。它會記住註冊表中的這個選擇。如果該控件是由不同域呈現的頁面使用的,則會要求用戶信任該新域。
有沒有辦法讓ActiveX控件查詢IE並詢問從哪個域下載頁面?
是的,執行IObjectWithSite並緩存您在SetSite()
中給出的指針。
然後:
QueryInterface()
您的網站IID_IServiceProvider
。QueryService()
IServiceProvider
對於SID_STopLevelBrowser, IID_IServiceProvider
。QueryService()
頂級IServiceProvider
對於SID_SWebBrowserApp, IID_IWebBrowser2
。