首页 > 基础设施 > 正文

微调Web站点以适应XP SP2

2008-06-02 09:26:21  来源:微软

摘要:使您的 Web 站点能够很好地使用 Windows XP SP2 中的新安全功能,这些功能可能会影响 ActiveX 控件、文件下载、弹出窗口等。
关键词: 微软 Web XP

    您的 Web 站点是否使用 Microsoft ActiveX 控件?

    在 Windows XP Service Pack 2 (SP2) 中,ActiveX 控件的模式安装提示最初由“信息栏”阻止。如果满足下列条件,则对已安装在计算机上的控件进行升级时,就会引发一个异常:

    注册为 ActiveX 控件的文件必须使用 Authenticode 技术签名。(该文件引用自 HKEY_CLASSES_ROOTCLSID{control_clsid}InProcServer32,其中 control_clsid 为 CLSID,由 OBJECT 标记指定。)

    新控件的发布者名称以数字签名表示,它与现有控件数字签名中的发布者名称相匹配。

    如果 ActiveX 控件打包为一个 CAB 文件,则该 CAB 文件必须经过签名。要安装的 DLL 或 OCX 也应该进行签名,以便随后的升级可以跳过“信息栏”。

    如果“信息栏”阻止某个 ActiveX 控件,并且该控件会占用页面上的区域,则 Internet Explorer 将显示一个嵌入式图标和文本(而不是控件),表示需要安装 ActiveX 控件。最终用户将能够单击该区域或“信息栏”,以安装 ActiveX 控件。

    ActiveX 控件是否以 CAB 文件的形式分发?

    如果是,请注意有关升级该控件的未来安装提示也会被“信息栏”阻止,除非您对要注册为 ActiveX 控件的 DLL 或 OCX 进行签名。

    根据是否安装有 ActiveX 控件,您的 Web 站点是否具有不同的行为(例如,自动重定向或刷新时的特殊行为)?

    如果尚未安装控件就进行刷新,某些网页将自动进行重定向或表现不同。在某些情况下,以这种方式构建站点可能会阻止用户安装该控件,从而带来不好的用户体验。

    由于网页无法区分是用户拒绝 ActiveX 控件的安装,还是“信息栏”阻止控件,所以安装 ActiveX 控件的推荐做法是:在一个解释控件用途的单独网页上创建该控件的一个实例。此外,还应在 < OBJECT > 标记中使用 < SPAN > 部分,以便为用户动态提供有关安装失败的“帮助”文本。

    您的 Web 站点是否具有 Authenticode 对话框的图像?

    为了防止用户混淆,您可以更新这些图像来反映新的 Authenticode 用户界面 (UI)。您可以使用用户代理字符串来确定浏览器的正确版本。

    ActiveX 安装对话框是否能阻止控件进行安装?

    如果对话框没有提供安装 ActiveX 控件的选项,则说明该文件可能没有进行正确签名。请确保您的文件已签名,并且该签名仍然有效。默认情况下,当 ActiveX 控件的签名无效时,SP2 会阻止该控件的安装。

    ActiveX 最佳做法

    不要使用弹出窗口或 HTML 对话框来安装 ActiveX 控件。

    不要建议用户降低他们的安全设置来安装 ActiveX 控件。

    在描述控件的用途和对最终用户影响的单独页面上创建 ActiveX 控件的一个实例。

    您的 Web 站点是否允许用户下载文件?

    在 SP2 中,“信息栏”将阻止能够自动启动的文件下载提示。

    在 SP2 中,用于文件下载、邮件附件、Shell 进程处理和程序安装的提示已经进行了修改,比它们在 Windows XP Service Pack 1 (SP1) 中更加一致、清晰。在 SP2 中,在下载可能会潜在损害用户计算机并可以进行签名的文件类型后,将显示发布者信息。(可以进行签名并可能潜在损害用户计算机的常见文件类型包括 .exe、.dll、.ocx 和 .msi)。

    您的 Web 站点是否会自动启动下载提示?

    如果当用户没有使用鼠标单击或按键来启动导航时,Web 站点尝试导航到生成文件下载对话框的资源,则文件下载提示将被“信息栏”阻止。

    要确保下载不会被阻止,您可以将所有下载作为一个直接用户操作的结果。

    您的 Web 站点是否包含其文件扩展名与其内容类型不匹配的文件?

    如果您的站点包含由 MIME 处理程序处理的文件,则这些文件的扩展名应对应于与 MIME 处理程序相同的 ProgID。如果给定文件的内容类型 ProgID 与文件扩展名 ProgID 不匹配,则 XP SP2 中的 Internet Explorer 可能会采取下列操作:1) 可能会提示用户下载文件;2) 如果该文件无法在 MIME 处理程序中处理,则它将不会在扩展名处理程序中处理。

    您可以通过更改内容类型以匹配文件扩展名,来修正这些不匹配。请确定这也适用于您的网页。

    例外:此更改不会影响发送“content-disposition=attachment”标头的情况。在这些情况下,服务器建议的文件名或扩展名被认为是最终名称,并且不会随多用途 Internet 邮件扩展 (MIME) 探测而更改。
 
    您的 Web 站点是否在站点上具有下载对话框的图像,或者显示在哪里单击以接受控件的图像/文本?

    如果客户使用的是 Windows XP Service Pack 2,请确保更新指向下载提示的所有图像,以反映新的下载对话框。要确定显示图像的版本,您可以在 Internet Explorer 中使用“用户代理”字符串。

    您的 Web 站点是否具有应进行数字签名的下载?

    现在,SP2 可以检查能够进行数字签名的文件的数字签名。这些文件的最常见示例包括具有以下扩展名的文件:.exe、.dll、.cab、.ocx 和 .msi。如果您是可以使用 Authenticode 技术进行签名的文件的发布者,那么现在客户将能够验证您创建的文件。这适用于 Internet Explorer 和 Outlook Express。

    您的 Web 站点是否使用弹出窗口?

    Internet Explorer 包括有在 SP2 中默认开启的弹出阻止程序。这个弹出阻止程序可能会干预自动从脚本中生成新窗口的站点。对于需要自动弹出的情况,该弹出阻止程序包含了一个有帮助的“允许”列表。默认情况下,弹出阻止程序不会尝试阻止从 Intranet 或受信任站点区域启动的弹出。

    Internet Explorer 将弹出窗口视为何物?

    Internet Explorer 将尝试阻止从脚本自动打开的任何窗口,但 createPopup() 除外。某些受到影响的常用函数包括 window.open()、showModelessDialog()、showModalDialog() 和 showHelp()。(注:自动以搜索窗格为目标的操作也会因弹出阻止限制而被阻止。)

    作为用户操作的直接结果而打开的弹出窗口不会被阻止,例如单击某个页面元素。默认情况下,弹出阻止没有应用到 Intranet 或受信任站点区域。

    如何确定 Internet Explorer 是否阻止了我的弹出窗口?

    如果窗口被阻止,那么返回窗口对象的函数将返回空值。当弹出被阻止时,在使用 window.open() 的返回值来避免脚本错误之前,请始终对该值进行检查。


第三十四届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。