4 Pregunta: Desactivar Chrome estricto tipo de verificación MIME

pregunta creada en Fri, Dec 23, 2016 12:00 AM

¿Hay alguna forma de deshabilitar strict MIME type checking en Chrome?

En realidad estoy haciendo una solicitud JSONP en el dominio cruzado. Está funcionando bien en Firefox pero, mientras usa Chrome, da un error en la consola.

  

Se negó a ejecutar el script desde ' https://example.com ' porque es de tipo MIME ('texto /plano' ) no es ejecutable, y se habilita la comprobación estricta de tipos MIME.

Está funcionando perfectamente en Mozilla ... El problema está surgiendo solo en Chrome

Aquí están los encabezados de respuesta de la solicitud ..

 
Cache-Control:no-cache, no-store
Connection:Keep-Alive
Content-Length:29303
Content-Type:text/plain;charset=ISO-8859-1
Date: xxxx
Expires:-1
Keep-Alive:timeout=5
max-age:Thu, 01 Jan 1970 00:00:00 GMT
pragma:no-cache
Set-Cookie:xxxx
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options:nosniff
X-Frame-Options:SAMEORIGIN

Solución alternativa a lo que pienso : Configuración externa de tipo de contenido para application/javascript

    
40
  1. ¿Has visto esta pregunta similar? stackoverflow .com /questions /17341122 /…
    2016-08-30 13: 22: 36Z
  2. @ Rory McCrossan sí ... esa pregunta hace referencia al archivo de github ... y su solución alternativa es exportar el archivo como zip ..
    2016-08-30 13: 26: 25Z
  3. ¿Cuál es el contenido que está enviando como texto sin formato?
    2016-08-30 13: 27: 34Z
  4. está recibiendo un json ... la respuesta es así ... angular.callbacks._3({json_data})
    2016-08-30 13: 29: 24Z
  5. Extrañaba que estaba enviando JSONP; debe utilizar el tipo MIME correcto: application/javascript
    2016-08-30 13: 29: 53Z
4 Respuestas                              4                         

El servidor debe responder con el tipo MIME correcto para JSONP application/javascript y su solicitud debe indicar a jQuery que está cargando JSONP dataType: 'jsonp'

Consulte esta respuesta para más detalles! También puede echar un vistazo a este , ya que explica por qué cargar el archivo .js con text/plain no funciona.

    
9
2017-05-23 12: 26: 33Z

En mi caso, apagué X-Content-Type-Options en nginx y luego funciona bien. Pero asegúrese de que esto disminuya un poco su nivel de seguridad. Sería una solución temporal.

 
# Not work
add_header X-Content-Type-Options nosniff;
# OK (comment out)
#add_header X-Content-Type-Options nosniff;

Será lo mismo para apache.

 
<IfModule mod_headers.c>
  #Header set X-Content-Type-Options nosniff
</IfModule>
    
4
2019-05-23 02: 28: 40Z
  1. Esta única solución funciona bien para mí < IfModule mod_headers.c > #Header set X-Content-Type-Options nosniff < /IfModule >
    2018-03-14 12: 18: 29Z
  2. ¡Claro, reduce la seguridad de tu sitio, en lugar de solucionar el problema real! Consulte: stackoverflow.com/questions/18337630/…
    2018-04-13 16: 12: 10Z

También tuve el mismo problema una vez,

Si no puede resolver el problema, puede ejecutar el siguiente comando en la línea de comandos
chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security

Nota: debes navegar a la ruta de instalación de tu chrome.
Por ejemplo: cd C:\Program Files\Google\Chrome\Application

Se abrirá un navegador Chrome de sesión de desarrollador, ahora puede iniciar su aplicación en el nuevo navegador Chrome.
Espero que esto sea de ayuda.

    
0
2018-04-04 17: 14: 22Z
  1. De acuerdo ... Pero solo para la perspectiva de desarrollo ... Para la producción, agregue los tipos de mimos adecuados.
    2018-04-05 05: 57: 03Z
  2. a partir de esta fecha, este indicador ya no funciona para deshabilitar la verificación de tipo MIME
    2019-03-11 05: 14: 35Z

Otra solución cuando un archivo simula otra extensión

Uso php dentro del archivo var.js con este .htaccess.

 
<Files var.js>
    AddType application/x-httpd-php .js
</Files>

Luego escribo el código php en el archivo .js

 
<?php
// This is a `.js` file but works with php
echo "var js_variable = '$php_variable';";

Cuando recibí la advertencia de tipo MIME en Chrome, la arreglé agregando una línea de encabezado Content-Type en el archivo .js(but php).

 
<?php
header('Content-Type: application/javascript');        // <- Add this line
// This is a `.js` file but works with php
...

Un navegador no ejecutará el archivo .js porque apache envía el encabezado Content-Type del archivo como application/x-httpd-php que está definido en .htaccess. Esa es una razón de seguridad. Pero Apache no ejecutará PHP hasta que el htaccess ordene la suplantación, es necesario. Así que tenemos que sobrescribir el encabezado Content-Type de apache con la función php header(). Supongo que apache deja de enviar su propio encabezado cuando php lo envía en lugar de apache antes.

    
- 2
2018-04-10 01: 29: 36Z
fuente colocada aquí