Adapte su sitio Web al Service Pack 2 de Windows XP

Microsoft Corporation
Julio de 2004

Esto es aplicable para:
Controles Microsoft ActiveX
Microsoft Internet Explorer
Microsoft Outlook Express
Service Pack 2 (SP2) de Microsoft Windows XP

Resumen: Consiga que su sitio Web funcione correctamente con las nuevas funcionalidades de seguridad del SP2 de Windows XP que afectan a los controles ActiveX, las descargas de archivos, las ventanas emergentes, y otros (7 páginas impresas).

Los temas incluyen:

 

¿Utiliza su sitio Web controles Microsoft ActiveX?

 

En el Service Pack 2 (SP2) de Windows XP, el aviso que aparece en la instalación modal de controles ActiveX se suprimirá inicialmente utilizando la Barra de Información, exceptuando las actualizaciones de controles que ya se hayan instalado en el equipo, siempre que cumplan los siguientes criterios:

 

  • El archivo registrado como control ActiveX debe estar firmado con tecnología Authenticode. (este archivo es referenciado desde HKEY_CLASSES_ROOT\CLSID\{control_clsid}\InProcServer32, siendo control_clsid el CLSID especificado por la etiqueta OBJECT).
  • El nombre del publicador en la firma digital del nuevo control debe coincidir con el nombre del publicador en la firma digital del control existente.
  • Si el control ActiveX está empaquetado en un archivo CAB, éste debe estar firmado. La DLL u OCX que vaya a instalarse también debería estar firmada para que las siguientes actualizaciones eviten la Barra de Información.

 

Si la Barra de Información suprime un control ActiveX y el control ocupa un área en la página, Internet Explorer mostrará un icono y un texto en lugar del control indicando que debe instalarse el control ActiveX. Los usuarios finales podrán hacer clic en esta área o en la Barra de Información para instalar el control ActiveX.

 

¿Está el control ActiveX distribuido en un archivo comprimido (CAB)?

 

Si es así, recuerde que la Barra de Información también suprimirá los futuros avisos de instalación para actualizar este control a menos que firme la DLL u OCX para que se registre como control ActiveX.

 

¿Tiene su sitio Web un comportamiento distinto dependiendo de si un control ActiveX está instalado o no (por ejemplo, una redirección automática o un comportamiento especial en la actualización)?

 

Algunas páginas Web redirigen automáticamente o se comportan de modo distinto cuando se actualizan después de la no instalación de un control. En algunos casos, generar su sitio de este modo puede impedir que el usuario instale el control, proporcionándole una mala experiencia.

Una página Web no puede distinguir entre un usuario que declina la instalación de un control ActiveX y el control suprimido por la Barra de Información. Por ello, la práctica recomendada para instalar un control ActiveX es crear una instancia del control en una página Web específica que explique la utilidad del mismo. Utilice también una sección <SPAN> en la etiqueta <OBJECT> para mostrar dinámicamente texto de Ayuda al usuario para errores en la instalación.

 

¿Tiene su sitio Web imágenes del cuadro de diálogo Authenticode?

 

Para evitar confundir a los usuarios, podemos actualizar estas imágenes de modo que reflejen la nueva interfaz de usuario (IU) de Authenticode. Podemos utilizar la cadena user agent para determinar la versión correcta del navegador (para más información sobre la detección del SP2, consultar Sugerencias generales).

 

¿Evita el cuadro de diálogo de instalación ActiveX que el control se instale?

 

Si el cuadro de diálogo no proporciona una opción para instalar el control ActiveX, es posible que el archivo no esté firmado correctamente. Asegúrese de que ha firmado el archivo y de que la firma sigue siendo válida. De modo predeterminado, ahora el SP2 bloquea la instalación de un control ActiveX cuando su firma no es válida.

 

Recomendaciones para el uso de ActiveX

  • No instale controles ActiveX utilizando una ventana emergente o diálogo HTML.
  • No sugiera a los usuarios que reduzcan su configuración de opciones de seguridad para instalar un control ActiveX.
  • Cree una instancia del control ActiveX en una página específica describiendo su utilidad y el impacto del control en el usuario final.

 

 

¿Permite su sitio Web la descarga de archivos a los usuarios?

 

En el SP2, la Barra de Información suprimirá los avisos de descarga de archivos que se abren automáticamente.

En SP2, los avisos utilizados para las descargas de archivos, los documentos adjuntos al correo, la ejecución de procesos relacionados con la interfaz y la instalación de programas se han modificado para hacerlos más coherentes y claros que en el Service Pack 1 (SP1) de Windows XP. En el SP2, la información del publicador se mostrará tras la descarga de un tipo de archivo que potencialmente pueda dañar el equipo del usuario y pueda ser firmado (ejemplos habituales de tipos de archivos que pueden ser firmados y que potencialmente pueden dañar el equipo del usuario son .exe, .dll, .ocx, .msi).

 

¿Muestra su sitio Web avisos de descarga automáticamente?

 

La Barra de Información suprimirá el aviso de descarga de un archivo si un sitio Web intenta acceder a un recurso que hubiera producido la visualización de un cuadro de diálogo de descarga de archivos si el usuario no ha iniciado la navegación con un clic de ratón o pulsando una tecla.

Para asegurarse de que las descargas no sean suprimidas, puede configurar que todas las descargas sean resultado de una acción directa del usuario.

 

¿Contiene su sitio Web archivos con extensiones que no concuerden con su tipo de contenido?

 

Si su sitio sirve archivos que están gestionados por controladores mime, las extensiones de estos archivos deberían corresponderse con el mismo ProgID que el controlador mime. Si el campo ProgID de tipo Content-type de un determinado archivo no concuerda con la extensión de archivo ProgID, Internet Explorer en el SP2 de XP puede llevar a cabo las siguientes acciones: 1) puede indicarse al usuario que descargue el archivo y 2) el archivo no se ejecutará en el gestor de extensiones si falla al ejecutarse en el controlador mime.

Puede corregir estas discordancias cambiando el tipo de contenido para coincidir con la extensión de archivo. Asegúrese de que esto es cierto también para sus páginas Web.

Excepción: Este cambio no afecta a casos en los que se envía un encabezado "content-disposition=attachment". En estos casos, el nombre de archivo o extensión sugerido por el servidor se considera final y no se cambia en función del rastreo Multipurpose Internet Mail Extensions (MIME).

 

¿Utiliza su sitio Web imágenes del cuadro de diálogo de descarga, o imágenes/texto que indique dónde pulsar para aceptar el control?

 

Asegúrese de actualizar las imágenes que apuntan a avisos de descarga para reflejar los nuevos diálogos de descarga si el cliente utiliza el Service Pack 2 de Windows XP. Para determinar la versión de la imagen que se muestra, puede utilizar la cadena user agent de Internet Explorer (para más información sobre la detección del SP2, consultar Sugerencias generales).

 

¿Incluye su sitio Web descargas que deberían estar firmadas digitalmente?

 

Ahora, el SP2 comprueba la firma digital para los archivos que puedan ser firmados digitalmente. Los ejemplos más habituales de estos archivos son los archivos con las siguientes extensiones: .exe, .dll, .cab, .ocx y .msi. Si usted publica archivos que pueden firmarse utilizando la tecnología Authenticode, ahora los clientes tendrán la posibilidad de validar que usted ha sido el creador del archivo. Esto es válido tanto para Internet Explorer como para Outlook Express.

 

¿Utiliza su sitio Web ventanas emergentes?

 

Internet Explorer incluye un bloqueador de ventanas emergentes que se activa por defecto en el SP2. Este bloqueador de ventanas emergentes puede afectar a archivos que generen automáticamente nuevas ventanas desde scripts. El bloqueador de ventanas emergentes incluye una lista Allow que puede ser de ayuda en casos en los que se requieran ventanas emergentes automáticas. De modo predeterminado, el bloqueador de ventanas emergentes no intentará bloquear ventanas emergentes lanzadas desde la intranet o zonas de sitios de confianza.

 

¿Qué considera Internet Explorer una ventana emergente?

 

Internet Explorer intentará bloquear cualquier ventana abierta automáticamente desde scripts, exceptuando createPopup(). Algunas funciones habituales afectadas son window.open(), showModelessDialog(), showModalDialog() y showHelp() (nota: el uso automático del panel de búsqueda también está bloqueado debido a las restricciones de bloqueo de ventanas emergentes).

Una ventana emergente abierta como resultado de una acción directa del usuario (por ejemplo, pulsar en el elemento de una página) no se bloqueará. El bloqueo de ventanas emergentes no se aplica de modo predeterminado la intranet o zonas de sitios de confianza.

 

¿Cómo puedo saber si Internet Explorer ha bloqueado mi ventana emergente?

 

Las funciones que devuelven un objeto de una ventana devolverán un valor nulo si la ventana está bloqueada. Compruebe siempre el valor de retorno de window.open() antes de utilizarlo para evitar errores de scripts cuando las ventanas emergentes estén bloqueadas.

 

¿Su sitio redirige o cierra una página en función de una ventana emergente bloqueada?

 

Siempre que sea posible, no redirija ni cierre ventanas basándose en contenido bloqueado. Si su sitio se redirige a un sitio distinto cuando se bloquea una ventana emergente, puede ser más difícil para el cliente mostrar la ventana emergente bloqueada. El sitio redirigido no mostrará la Barra de Información que normalmente aparece para facilitar a los clientes el acceso a la ventana emergente en este caso.

De modo similar, si una ventana se cierra debido a una ventana emergente bloqueada, el punto de entrada de la Barra de Información para mostrar la ventana emergente bloqueada desaparecerá junto con la ventana.

 

¿Lanza su sitio una ventana emergente desde otra ventana emergente?

 

Siempre que sea posible, no lance una ventana emergente automática desde otra ventana emergente. La segunda ventana no se considerará una acción de usuario en el Bloqueador de ventanas emergentes y se bloqueará.

 

¿Lanza el diálogo setHomePage() automáticamente?

 

En el Service Pack 2 de Windows XP, la función setHomePage() únicamente puede lanzarse desde una acción de usuario similar a las ventanas emergentes. Los avisos setHomePage() lanzados automáticamente se bloquearán.

 

¿Abre su sitio Web una nueva ventana si se solicita información de modo asíncrono?

 

Internet Explorer puede bloquear ciertas ventanas si el sitio las abre después de solicitar información de modo asíncrono incluso si el usuario ha pulsado sobre un enlace para abrir la ventana. Las ventanas no se bloquean si son abiertas directamente desde una acción iniciada por un usuario (clic de ratón) antes de solicitar información de modo asíncrono. Las acciones iniciadas por usuarios no persisten de una navegación a otra.

 

¿Lanza su sitio Web ventanas emergentes a través de controles ActiveX, u otros objetos de la página?

 

Al igual que con otras ventanas emergentes, si la ventana no se ha abierto por la acción de un usuario, el Bloqueador de ventanas emergentes la bloqueará. Se permitirá abrir una ventana en respuesta a la acción directa de un usuario.

Recomendaciones generales respecto a las ventanas emergentes

  • No redirija tras el fallo de una ventana emergente.
  • No cierre ni redirija automáticamente ventanas del navegador si se ha suprimido una ventana emergente, una descarga o un control ActiveX. Si lo hace, el usuario no podrá pulsar en la Barra de Información y aceptar la ventana emergente, la descarga o el control ActiveX.
  • No lance una ventana emergente desde otra ventana emergente.
  • No abra varias ventanas emergentes por una acción de un usuario.
  • No abra ventanas emergentes automáticas desde llamadas showModelessDialog() o showModalDialog().

 

¿Depende su sitio Web de la máquina virtual Java de Microsoft (MSJVM)?

 

Consultar el Soporte de la Máquina Virtual Java de Microsoft en el sitio Web de Microsoft.

 

Restricciones de la ventana del navegador

 

 

¿Su sitio Web posiciona las ventanas de modo que la barra de título o barra de dirección esté por encima de la parte superior visible de la pantalla, o la barra de estado debajo de la parte inferior visible de la pantalla?

 

Revise su código para asegurarse de que entiende las restricciones actuales para ventanas iniciadas desde scripts utilizando los métodos window.open() o window.createPopup(). El script puede invocar a los mismos métodos para la creación de una ventana de Internet Explorer con cromo (utilizando el método window.open()) o una ventana emergente sin cromo de Internet Explorer (utilizando el método window.createPopup()). No obstante, es posible que el diseño necesite ser revisado para garantizar que las ventanas emergentes son visibles adecuadamente por el usuario y la barra de estado contiene la información adecuada.

Las siguientes recomendaciones son aplicables al trabajo con llamadas a ventanas iniciadas desde scripts en un proceso que ejecuta la funcionalidad de Seguridad de Restricciones en Windows.

Para las ventanas abiertas mediante window.open():

 

  • Espere a que aparezca la barra de estado, y añada código a la misma. La barra de estado estará activada de forma predeterminada y tiene 20-25 píxeles de altura.
  • Ajuste el tamaño y el contenido de su ventana para que se adapte visualmente bien al tamaño global de la ventana. La ventana no cubrirá la barra de tareas, de modo que puede perder 40 píxeles si la barra de estado está activada y la barra de tareas no se utiliza. El tamaño vertical de la ventana no deber tener más de 30 píxeles fuera de la barra de tareas.
  • No abra ventanas fuera de la pantalla; éstas se moverán en función del offset más pequeño de las coordenadas X e Y que permite a la ventana visualizarse completamente en pantalla.
  • Al igual que antes, la visualización de la ventana se verá afectada por el tema, el tamaño de la fuente y la resolución de la pantalla; por tanto, es posible que necesite considerar estas influencias de la interfaz de usuario cuando diseñe sus ventanas.
  • Nota: window.open() con fullscreen=yes no produce una ventana maximizada ni una ventana en modo quiosco.

 

Para ventanas abiertas utilizando window.createPopup():

 

  • Ajuste el tamaño y el contenido de la ventana para que se ajuste visualmente al tamaño global de la ventana. Con esta nueva funcionalidad, la ventana no cubrirá la barra de título ni la barra de estado de su ventana padre, por tanto puede perder 40 píxeles si las barras de título y de estado no se tienen en cuenta. El tamaño vertical de la ventana no debe ser mayor que el área actualmente visible de la página.
  • No abra ventanas sin cromo fuera de la superficie de representación HTML de Internet Explorer; éstas se moverán en función del offset más pequeño de las coordenadas X e Y que permite a la ventana visualizarse completamente dentro del área cliente. Sólo hay una excepción: sólo la mitad de la ventana puede existir fuera del límite izquierdo o derecho del área cliente de Internet Explorer.
  • Al igual que antes, la visualización de la ventana se verá afectada por el tema, el tamaño de la fuente y la resolución de la pantalla; por tanto, es posible que necesite considerar estas influencias de la interfaz de usuario cuando diseñe sus ventanas.

 

 

Sugerencias generales

 

 

Detectar Internet Explorer en el SP2

 

Podemos utilizar window.navigator.userAgent para detectar si el navegador que se conecta a nuestro sitio es Internet Explorer en el SP2.

 var g_fIsSP2 = false; function browserVersion() { g_fIsSP2 =
 (window.navigator.userAgent.indexOf("SV1") != -1); if (g_fIsSP2) { 
 //This browser is Internet Explorer in SP2. } else { //This browser is 
 not Internet Explorer in SP2. } }

Si la cadena user agent contiene "SV1", el navegador que se conecta a nuestro sitio es Internet Explorer en el SP2.

 

¿Utiliza su sitio llamadas showModelessDialog() o showModalDialog()?

 

Si es posible, intente no crear una nueva instancia de un control ActiveX, lanzar automáticamente descargas de archivos, o lanzar automáticamente ventanas emergentes desde estas cajas de diálogo. La Barra de Información no se mostrará cuando el contenido se haya suprimido en este caso, y el usuario no tendrá una forma fácil de permitir el contenido. La forma sugerida de solucionarlo es iniciar estos comportamientos desde una ventana de Internet Explorer.

 

Cuando el contenido está bloqueado, ¿su sitio redirige a otra página Web?

 

Si es posible, intente no redirigir a otra página Web cuando el navegador suprime contenido como controles ActiveX, avisos de descarga o ventanas emergentes. Es posible que la Barra de Información no aparezca en la página a la que haya sido redirigido cuando este contenido se suprime, y es posible que el usuario no pueda ver el contenido fácilmente.

 

Manual extraido de Microsoft

http://www.microsoft.com/spanish/msdn/articulos/archivo/020604/voices/webspxp.asp