微調(diào)Web站點(diǎn)以適應(yīng)XPSP2

字號(hào):

您的 Web 站點(diǎn)是否使用 Microsoft ActiveX 控件?
    在 Windows XP Service Pack 2 (SP2) 中,ActiveX 控件的模式安裝提示最初由“信息欄”阻止。如果滿足下列條件,則對(duì)已安裝在計(jì)算機(jī)上的控件進(jìn)行升級(jí)時(shí),就會(huì)引發(fā)一個(gè)異常:
    注冊(cè)為 ActiveX 控件的文件必須使用 Authenticode 技術(shù)簽名。(該文件引用自 HKEY_CLASSES_ROOT\CLSID\{control_clsid}\InProcServer32,其中 control_clsid 為 CLSID,由 OBJECT 標(biāo)記指定。)
    新控件的發(fā)布者名稱(chēng)以數(shù)字簽名表示,它與現(xiàn)有控件數(shù)字簽名中的發(fā)布者名稱(chēng)相匹配。
    如果 ActiveX 控件打包為一個(gè) CAB 文件,則該 CAB 文件必須經(jīng)過(guò)簽名。要安裝的 DLL 或 OCX 也應(yīng)該進(jìn)行簽名,以便隨后的升級(jí)可以跳過(guò)“信息欄”。
    如果“信息欄”阻止某個(gè) ActiveX 控件,并且該控件會(huì)占用頁(yè)面上的區(qū)域,則 Internet Explorer 將顯示一個(gè)嵌入式圖標(biāo)和文本(而不是控件),表示需要安裝 ActiveX 控件。最終用戶將能夠單擊該區(qū)域或“信息欄”,以安裝 ActiveX 控件。
    ActiveX 控件是否以 CAB 文件的形式分發(fā)?
    如果是,請(qǐng)注意有關(guān)升級(jí)該控件的未來(lái)安裝提示也會(huì)被“信息欄”阻止,除非您對(duì)要注冊(cè)為 ActiveX 控件的 DLL 或 OCX 進(jìn)行簽名。
    根據(jù)是否安裝有 ActiveX 控件,您的 Web 站點(diǎn)是否具有不同的行為(例如,自動(dòng)重定向或刷新時(shí)的特殊行為)?
    如果尚未安裝控件就進(jìn)行刷新,某些網(wǎng)頁(yè)將自動(dòng)進(jìn)行重定向或表現(xiàn)不同。在某些情況下,以這種方式構(gòu)建站點(diǎn)可能會(huì)阻止用戶安裝該控件,從而帶來(lái)不好的用戶體驗(yàn)。
    由于網(wǎng)頁(yè)無(wú)法區(qū)分是用戶拒絕 ActiveX 控件的安裝,還是“信息欄”阻止控件,所以安裝 ActiveX 控件的推薦做法是:在一個(gè)解釋控件用途的單獨(dú)網(wǎng)頁(yè)上創(chuàng)建該控件的一個(gè)實(shí)例。此外,還應(yīng)在 < OBJECT > 標(biāo)記中使用 < SPAN > 部分,以便為用戶動(dòng)態(tài)提供有關(guān)安裝失敗的“幫助”文本。
    您的 Web 站點(diǎn)是否具有 Authenticode 對(duì)話框的圖像?
    為了防止用戶混淆,您可以更新這些圖像來(lái)反映新的 Authenticode 用戶界面 (UI)。您可以使用用戶代理字符串來(lái)確定瀏覽器的正確版本。
    ActiveX 安裝對(duì)話框是否能阻止控件進(jìn)行安裝?
    如果對(duì)話框沒(méi)有提供安裝 ActiveX 控件的選項(xiàng),則說(shuō)明該文件可能沒(méi)有進(jìn)行正確簽名。請(qǐng)確保您的文件已簽名,并且該簽名仍然有效。默認(rèn)情況下,當(dāng) ActiveX 控件的簽名無(wú)效時(shí),SP2 會(huì)阻止該控件的安裝。
    ActiveX 做法
    不要使用彈出窗口或 HTML 對(duì)話框來(lái)安裝 ActiveX 控件。
    不要建議用戶降低他們的安全設(shè)置來(lái)安裝 ActiveX 控件。
    在描述控件的用途和對(duì)最終用戶影響的單獨(dú)頁(yè)面上創(chuàng)建 ActiveX 控件的一個(gè)實(shí)例。