Saltar al contenido

Desactivar la política del mismo origen de Firefox

Solución:

Hay una extensión de Firefox que agrega los encabezados CORS a cualquier respuesta HTTP que funcione en la última versión de Firefox (compilación 36.0.1) liberado 5 de marzo de 2015. Lo probé y funciona tanto en Windows 7 como en Mavericks. Lo guiaré a través de los pasos para que funcione.

1) Obtener la extensión

Puede descargar el xpi desde aquí (compilaciones del autor) o desde aquí (espejo, es posible que no se actualice).

O descargue los archivos de GitHub. Ahora también está en Firefox Marketplace: descárguelo aquí. En este caso, el complemento se instala después de hacer clic en instalar y puede pasar al paso 4.

Si descargó el xpi, puede saltar al paso 3. Si descargó el zip de GitHub, vaya al paso 2.

2) Construyendo el xpi

Debe extraer el zip, entrar en la carpeta “cors-anywhere-firefox-addon-master”, seleccionar todos los elementos y comprimirlos. Luego, cambie el nombre del zip creado como * .xpi

Nota: Si está utilizando la interfaz gráfica de usuario de OS X, puede crear algunos archivos ocultos, por lo que sería mejor utilizar la línea de comandos.

3) Instalación del xpi

Puede simplemente arrastrar y soltar el xpi en Firefox, o ir a: “acerca de: complementos”, haga clic en el engranaje en la esquina superior derecha y seleccione “instalar complemento desde archivo”, luego seleccione su archivo .xpi. Ahora, reinicia Firefox.

4) Hacer que funcione

Ahora, la extensión no funcionará de forma predeterminada. Debe arrastrar el icono de la extensión a la barra de extensión, pero no se preocupe. ¡Hay fotografías!

  • Haga clic en el menú de Firefox
  • Haga clic en Personalizar

p1

  • Arrastra CorsE a la barra.
  • Ahora, haga clic en el ícono, cuando esté verde, los encabezados CORS se agregarán a cualquier respuesta HTTP

p2

5) Probando si está funcionando

jQuery

$.get( "http://example.com/", function( data ) {
  console.log (data);
});

JavaScript

xmlhttp=new XMLHttpRequest();

xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4) {
        console.log(xmlhttp.responseText);
    }
}

xmlhttp.open("GET","http://example.com/");
xmlhttp.send();

6) Consideraciones finales

Tenga en cuenta que https a http no está permitido.

Puede haber una forma de evitarlo, pero está detrás del alcance de la pregunta.

about:config -> security.fileuri.strict_origin_policy -> false

Me di cuenta de que mi respuesta anterior tiene una votación negativa porque no especifiqué cómo deshabilitar específicamente la política de origen de FF. Aquí daré una respuesta más detallada:

Advertencia: Esto requiere una recompilación de FF, y la versión recién compilada de Firefox no podrá habilitar SOP de nuevo.

Consulte el código fuente de Firefox de Mozilla, busque nsScriptSecurityManager.cpp en el directorio src. Usaré el que se enumera aquí como ejemplo: http://mxr.mozilla.org/aviarybranch/source/caps/src/nsScriptSecurityManager.cpp

Vaya a la implementación de la función nsScriptSecurityManager :: CheckSameOriginURI, que es la línea 568 a la fecha 03/02/2016.

Haga que la función siempre devuelva NS_OK.

Esto desactivará SOP para siempre.

La respuesta del complemento del navegador de @Giacomo debería ser útil para la mayoría de las personas y he aceptado esa respuesta, sin embargo, para mis necesidades personales de investigación (TL; no lo explicaré aquí) no es suficiente y creo que otros investigadores pueden necesitar hacer lo que Lo hice aquí para matar completamente a SOP.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *