Evite que Internet Explorer cambie el nombre de las descargas

Evite que Internet Explorer cambie el nombre de las descargas

he puesto unPágina webeso explica cómo configuro mis ajustes de Visual Studio. Esto incluye descargas de extensiones .vsix (la "Descarga" en "Erweiterungen installieren", "Indent Guides") o archivos .config (más abajo como "CodeMaid.config").

Internet Explorer y Edge son los únicos dos navegadores que alteran deliberadamente las extensiones de estos archivos de descarga para convertirlos en algo que no funciona después de la descarga. Firefox simplemente hace lo que le dice el servidor web y guarda el archivo descargado con el nombre especificado.

Podría manejar el caso .vsix proporcionándole el tipo MIME "application/vsix". De lo contrario, IE habría interpretado dichos archivos como .zip (que técnicamente lo son). No se les debe cambiar el nombre de todos modos porque un archivo .zip se abre de manera totalmente diferente a un archivo .vsix.

Sin embargo, el archivo .config no tiene un tipo MIME especial. Realmente es sólo un archivo XML y IE le cambia el nombre a .xml. Desafortunadamente, está diseñado para usarse en un programa que quiere archivos .config.

¿Por qué Internet Explorer rompe todo tipo de cosas? ¿Cómo se le puede impedir cometer semejantes tonterías? Encontré algo sobre un encabezado HTTP "X-Content-Type-Options: nosniff" para IE 8, pero eso no cambia nada hoy, así que supongo que está mal o también está roto. ¿O tal vez ya necesito tres encabezados más?

Respuesta1

Utilice los siguientes encabezados HTTP:

  • Opciones de descarga X: no abierto
  • Contenido-Disposición: adjunto; nombre de archivo = archivo no confiable.html

Manejo MIME: Forzar guardado

Por último, para las aplicaciones web que necesitan servir archivos HTML que no son de confianza, hemos introducido un mecanismo para ayudar a evitar que el contenido que no es de confianza comprometa la seguridad de su sitio. Cuando el nuevo encabezado X-Download-Options está presente con el valor noopen, se impide que el usuario abra una descarga de archivo directamente; en su lugar, primero deben guardar el archivo localmente. Cuando el archivo guardado localmente se abre más tarde, ya no se ejecuta en el contexto de seguridad de su sitio, lo que ayuda a evitar la inyección de scripts.

Referencias

información relacionada