2014-01-22 29 views
1

我們已經開發了一種通過JavaScript在瀏覽器調用ActiveX對象..IE消息允許阻止的內容: - IE限制此頁面運行腳本或ActiveX控件?爲什麼?

我們已經實施IObjectSafety的也是我們使用regasm MYDLL.DLL/TLB /代碼庫

當我們打開這個頁面註冊這個dll本地我們得到的信息爲: -

IE限制此頁面運行腳本或ActiveX控件?然後,我們必須選擇允許它運行阻止的內容..

但是,有沒有這樣的味精時,在從服務器運行的網頁...

爲什麼這個消息來了在本地?從ActiveX對象的代碼解決這個問題的解決方案是什麼?

我們使用VS2010 SNK文件... 我們已經實施IObjectSafety的了的ActiveX DLL ... 我們已經使用regasm MYDLL.DLL/TLB /代碼庫 註冊這個dll簽署的ActiveX DLL如果我沒有實現的那麼上述2個步驟,當我在本地以及服務器上打開IE頁面時,是否也會出現錯誤?

回答

1

僅用一個自生成的.SNK文件簽名您的DLL是不夠的。您需要購買由認可的可信授權機構頒發的全功能Authenticode簽名證書。購物周圍,選擇範圍,例如從thisthis

獲得證書後,此處爲how to use it

支持IObjectSafety是必需的,但它不會使您的控件自動安全。你只是聲明它是安全的,這是一個聲明。如果你的控件被部署在1000個電腦上,那麼有人會創建一個VBScript木馬來濫用你的控件的API,你可能會被控告虛假陳述。爲了保持安全,你應該使用類似Sitelock template的東西。

但是,如果通過file://協議和在本地運行您的頁面,請執行DLL的手動部署,這是一個不同的故事。 在這種情況下,您不必使用Authenticode對您的控件進行簽名。但是,出於安全原因,所有ActiveX控件(安全和不安全)在默認情況下都處於禁用狀態。更多細節:Understanding Local Machine Zone Lockdown。你可以使用Mark of the Web解決它。

+0

從服務器運行頁面時沒有這樣的味精...我們已經使用IobjectSafety將對象標記爲安全..我們是否還需要購買證書? – variable

+0

@NachiketKamat,從什麼服務器,像'localhost'?它可能屬於不同的IE安全區域。將所有IE設置重置爲默認設置,在您測試的客戶端PC上用'regsvr32/u control.dll'取消註冊該控件,然後重試。還請注意我關於'IObjectSafety'的更新。是的,我相信如果您要將控制權從網絡上移除,您仍然需要證書。 – Noseratio

+0

我已經使用regasm mydll.dll/tlb/codebase註冊了控件,並且管理員將在所有1000臺PC上運行此regasm命令。那麼,爲什麼你要求我註銷? – variable

相關問題