在 Internet Explorer 中執行由超連結和檔案下載] 對話方塊的檔案

文章翻譯 文章翻譯
文章編號: 232077 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

簡介

許多網站特別是在公司內部網路必須超連結使用者本機系統上執行時所需的檔案。基於明顯的安全性的理由 Internet Explorer 會防止從自動執行任何已下載的可執行檔或其他可能是危險的檔案而不向使用者顯示某種形式的對話方塊方塊提示任何超連結動作。

在這些情況 檔案下載] 對話方塊不以任何方式 preventable。這包括使用的 HTML 標記中裝載 WebBrowser] 控制項和變更安全性區域選項頁面的指令碼。

不幸的是,此對話方塊可對這一類的簡化的可執行檔儲存在 Web 伺服器上使用的連結會依賴以 Web 為基礎的介面而言過於凌亂破碎。本文將告訴您兩種替代的安全方法,可以自動執行檔案的超連結。

其他相關資訊

Internet Explorer 顯示 [檔案下載] 對話方塊的主要原因有二: 安全和選擇。為了安全起見,瀏覽器必須永遠不會執行自動沒有潛在使用者介入的情況下的使用者的系統上有潛在危險的檔案。此外,網站傳統上使用的連結,來與兩個不同得到的可執行檔: 站台打算為使用者可能執行連結的檔案,或者將它儲存。不幸的是,沒有任何項目錨點標記 (<a>HTML 規格中) 或任何目前的指令碼物件模型,提供一種方法來表示這必要的特定連結,Web 站台。因此,選擇的負擔是在使用者上。使用者必須決定是否要執行或儲存檔案。

Internet Explorer 會決定是否要顯示 [檔案下載] 對話方塊主要由檢查檔案的副檔名,並尋找在登錄中讀取該檔案的應用程式。對於大部份的檔案類型,使用者可以清除 [開啟這種檔案前先詢問] 選項] 對話方塊中,可授與權限到網際網路檔案總管,不顯示] 對話方塊在未來那些特定檔案類型的]。使用者也可以變更這個可存取 [編輯檔案類型] 對話方塊中的設定從殼層的 資料夾選項 翻轉 下載之後進行開啟確認] 核取方塊。

不過,Internet Explorer 包含預先定義、 硬式編碼清單的原本就是 distrusts 的副檔名。這些擴充功能對應至泛用的可執行檔和其他種類的能力損害使用者的電腦沒有適當的安全性保護的檔案。檔案下載] 對話方塊不能防止這些類型的任何檔案。開啟這種檔案前先詢問] 選項會變成灰色] 對話方塊上,而且不可以選取它。下列是這些檔案類型的副檔名的清單。
摺疊此表格展開此表格
.ade.csh.lnk.mda.pif.vb
.adp.exe.mad.mdb.prf.vbe
.app.fxp.maf.mde.prg.vbs
.asp隨附.hlp.mag.mdt.pst.vsd
.bas.hta.mam.mdw.reg.vsmacros
.bat.inf.maq.mdz.scf.vss
.cer.ins.mar.msc.scr.vst
.chm.isp.mas.msi.sct.vsw
.cmd.its.mat.msp.shb.ws
.com.js.mau.mst.shs.wsc
.cpl.jse.mav.ops.tmp.wsf
.crt.ksh.maw.pcd.url.wsh
為一個慣例本文參考到任何這些類型的檔案以執行 」 檔案中。

現在考慮簡單公司的內部網路網站,其中包含的好記的 Web 網頁上的可執行檔連結清單的案例。連結被為了下載並立即執行。假設該可執行檔是最有可能保證安全公司 (嗯,安全,做為其他程式的一般電腦),也可以是非常繁瑣有重複處理 [檔案下載] 對話方塊的使用者,特別是如果在每日上使用此頁面。

即使已簽署可執行檔,且使用者受到信任的簽章者 Internet Explorer 仍會顯示 [檔案下載] 對話方塊。更糟的是還 hapless Web 製作者的 Windows UNC 超連結--略過 Web 伺服器 \\server\share"超--會受到相同 iniquity。

為公司內部網路有為純粹本文為 IFRAME 連結 參照的超連結的另一種選擇。網際網路網站不能使用這個方法,但是可以使用這篇文章是指的方法做為 網際網路程式碼下載連結。(後者的方法是使用公司,太)。

附註在預設安全性層級這兩種技術仍會顯示安全性對話方塊。不像 麻煩檔案下載] 對話方塊,但是,所有這些安全性] 對話方塊都是透過標準區域為基礎的安全性選項可控制。為連結的技巧 IFRAME,可能會出現對話方塊會讀取 「 這個項目上執行系統指令可能不安全...」 和由自訂安全性選項 啟動程式及檔案中的 IFRAME 所控制。網際網路程式碼下載連結項技巧可能會出現讀取對話方塊] 要安裝並執行...」,接著由自訂的安全性控制選項 [下載簽名的 ActiveX 控制項]。

如果您在中本文的內部網路環境中使用該技巧強烈建議這些設定的變更都是核准,且由公司的系統管理員來變更 Web 站台上的所有使用者。網際網路總管管理套件 (IEAK) 控制項及廣播瀏覽器設定值,這類的系統管理員提供了簡易的機制。如需詳細資訊請造訪下列 Microsoft TechNet 網站:
http://technet.microsoft.com/en-us/ie/bb219517.aspx
公用的網際網路站台應該 需要使用者改變任何的安全性設定,以檢視它們的網站。而是,需要更改過的安全性的網站應該要求使用者將網站新增到 [網際網路選項] 的安全性] 屬性頁中他們受信任網站清單。此特定的網站將再操作之下低本文中的這兩種技術會運作而不需提示足夠安全性。

IFRAME 連結

這個替代方案中 Web 網頁會利用 Internet Explorer 能力顯示浮動框架 (<iframe>) 內的檔案總管樣式檔案清單檢視。請依照下列步驟執行:
  1. 將這些檔案移至特殊的伺服器、 共用及目錄中,整個預定使用者觀眾有權存取透過 Windows UNC 在公司內部網路上。
  2. 建立另一個目錄為每個執行檔,並將檔案複製到目錄。目錄應該是單一的可執行檔除外空的。
  3. 任何可執行檔的超連結會用完,地方包括下列形式的 HTML:
    Click on the icon in the following window to run this very special 
    program automatically without annoying dialog boxes:
    
    <IFRAME SRC="\\server\share\directory"></IFRAME>
    						
    HTML 程式碼會指向檔案位於,目錄的附註不檔案本身。
預期的檔案目錄會出現在檔案總管樣式檔案檢視。當使用者按下在檢視中的圖示時,檔案執行就如同在使用者按一下一樣傳統的 [Windows 檔案總管] 視窗中的 [檔案] 圖示。

網際網路程式碼下載連結

這個複雜的替代方案中 Web 網頁會略過一般的檔案下載程序,藉由利用網際網路程式碼下載。網際網路程式碼下載是 Internet Explorer 功能,可讓網頁中,以自動下載 ActiveX 控制項與其他原生程式碼的物件。檔案透過網際網路程式碼下載取得通過是由安全性選項可控制 ActiveX 安全性架構。
  1. 如果 「 可執行檔 」 是不可簽署的 PE (.exe) 如.bat 檔案然後檔案必須在.cab 檔案與下列表單中的 INF 封裝
    [version]
       signature="$CHICAGO$"
       AdvancedINF=2.0
    [Add.Code]
       file.zzz=file.zzz
    [file.zzz]
       clsid={15589FA1-C456-11CE-BF01-00AA0055595A}
       FileVersion=1,0,0,0
       hook=zzzinstaller
    [zzzinstaller]
       run=%EXTRACT_DIR%\file.zzz
    						
    取代為要執行之可執行檔的 File.zzz 上方的執行個體。

    如需有關如何封裝.cab 檔案的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 網站]:
    http://msdn.microsoft.com/en-us/library/aa741200(VS.85).aspx
  2. 請確定.exe (或.cab) 是程式碼簽章。如果尚未簽署.exe,這可以會完成使用 CryptoAPI Authenticode 代碼簽署] 工具。請參考 CryptoAPI 文件,在 MSDN 平台 SDK,如需詳細資訊安全性 」 標題下。

    基於安全性考量組織的程式碼簽章的程序是最適合處理由受整個組織的中央授權單位。程式碼簽署需要昂貴的憑證從外部廠商 (如 VeriSign 購買或是如 Microsoft 認證伺服器憑證伺服器在內部網路上的維護。
  3. 作為範例本頁指導方針連結與指令碼需要啟動簽署的程式碼,而不需提示:
    <HTML><HEAD><TITLE>Page of executable links</TITLE></HEAD>
    <BODY>
    <BR/>
    
    <!-- hyperlink uses central script function called linkit() -->
    <A HREF="" onclick="return linkit('signed-testfile.exe');">
    SIGNED-CLOCK.EXE</A>
    
    <SCRIPT>
    // linkit puts filename into HTML content and spews it into iframe
    function linkit(filename)
    {
       strpagestart = "<HTML><HEAD></HEAD><BODY><OBJECT CLASSID=" +
          "'CLSID:15589FA1-C456-11CE-BF01-00AA0055595A' CODEBASE='";
       strpageend = "'></OBJECT></BODY></HTML>";
       runnerwin.document.open();
       runnerwin.document.write(strpagestart + filename + strpageend);
       window.status = "Done.";
       return false;  // stop hyperlink and stay on this page
    }
    </SCRIPT>
    
    <!-- hidden iframe used for inserting html content -->
    <IFRAME ID=runnerwin WIDTH=0 HEIGHT=0 SRC="about:blank"></IFRAME><BR/>
    
    </BODY></HTML>
    					
在本文所討論的協力廠商產品是由 Microsoft 以外的公司所製造的。Microsoft 可讓不以暗示或其他方式,效能或可靠性這些產品的保證。

屬性

文章編號: 232077 - 上次校閱: 2007年7月16日 - 版次: 3.2
這篇文章中的資訊適用於:
  • Microsoft Internet Explorer 4.0 128-Bit Edition
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 4.01 Service Pack 1
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer 6.0
關鍵字:?
kbmt kbdhtml kbinfo kbnavigation kbsecurity KB232077 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:232077
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com