2009-07-15 93 views
1

我們有一個COM加載項,我們在MS Office應用程序中使用,如Word和Excel。 該COM加載項已經暴露了很少的API使用,我們用它來定製。如何防止用戶訪問VBA?

問題是 - 任何用戶都可以訪問API並導致安全問題。 我們不希望發生這種情況,我們想讓VBA編輯人員只能訪問少數幾個人。

有沒有什麼辦法 - 在不禁用VBA的情況下禁用VBA編輯器,因爲我們要使用其他宏和加載項。

在此先感謝!

PS - 我試圖隱藏工具欄上的「開發人員」選項卡,但任何知道快捷方式(ALT-F11)的人都可以使用它。

+0

您需要澄清一下,如果您想阻止用戶使用VBA作爲安全措施,因爲API已損壞,或者您想阻止所有對COM的訪問從系統,或者如果你想阻止用戶在系統上安裝*任何*新程序。 – 2011-11-04 21:48:56

+0

爲了澄清,爲了防止訪問您的COM API,您需要阻止對Powershell,JScript,VBScript,Perl的訪問,並且您需要防止用戶從USB密鑰,CDROM,網絡共享等運行或複製應用程序。網絡。實際上,黑客甚至可以將EXE輸入到記事本中(可能他會使用複製和粘貼,但仍然可以)。 – 2011-11-04 21:51:17

+0

哦,如果你允許在文檔中使用VBA宏,他可以在另一臺機器上寫文檔併發郵件。 – 2011-11-04 21:52:05

回答

0

你不能添加密碼來查看/編輯代碼嗎?那麼至少他們看不到你的API,並且應該阻止他們打開編輯器。

右鍵單擊VBA項目窗口中的項目,然後選擇'屬性'將密碼添加到保護選項卡中的該項目。

2

如果COM加載項的其中一個要求是受限訪問,則解決方案不應禁用任何可訪問它的內容。答案應該是修復加載項本身。一個簡單的方法是定義一個可以使用加載項的用戶組,然後只需進行加載項檢查以驗證用戶是否爲該組的成員。這應該很簡單,易於維護。