¿Hay alguna forma de desactivar la política del mismo origen en el navegador Chrome de Google ?
javascript
ajax
google-chrome
Landon Kuhn
fuente
fuente
peter.sh
página, por lo que debe ser bastante legítimo.--disable-web-security --user-data-dir
Respuestas:
Cierre el cromo (o cromo) y reinicie con el
--disable-web-security
argumento. Acabo de probar esto y verifiqué que puedo acceder al contenido de un iframe con src = "http://google.com" incrustado en una página servida desde "localhost" (probado bajo chromium 5 / ubuntu). Para mí el comando exacto fue:Nota: elimine todas las instancias de Chrome antes de ejecutar el comando
El navegador le advertirá que "está utilizando una línea de comando no compatible" cuando se abre por primera vez, lo que puede ignorar.
De la fuente de cromo:
Antes de Chrome 48, podría usar:
fuente
open /Applications/Google\ Chrome.app --args --disable-web-security
--user-data-dir
.Sí. Para OSX, abra Terminal y ejecute:
- se requiere directorio de datos de usuario en Chrome 49+ en OSX
Para ejecutar Linux:
Además, si está intentando acceder a archivos locales para fines de desarrollo como AJAX o JSON, también puede usar este indicador.
Para Windows, vaya al símbolo del sistema, vaya a la carpeta donde está Chrome.exe y escriba
Eso debería deshabilitar la misma política de origen y permitirle acceder a archivos locales.
Actualización: para Chrome 22+ se le presentará un mensaje de error que dice:
Sin embargo, puede ignorar ese mensaje mientras se desarrolla.
fuente
--disable-web-security
no funciona a menos que también explícitamente le des un--user-data-dir
. es decir, OSX/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --user-data-dir=~/ChromeUserData/
.open -n
. Simplemente correopen -n -a Google\ Chrome --args --disable-web-security --user-data-dir=/tmp/chrome
. Esto abrirá una segunda instancia de la aplicación Chrome en tu Mac, y puedes usarlas una al lado de la otra.Para usuarios de Windows:
El problema con la solución aceptada aquí, en mi opinión, es que si ya tiene Chrome abierto e intenta ejecutar esto, no funcionará.
Sin embargo, al investigar esto, me encontré con una publicación sobre Superusuario, ¿es posible ejecutar Chrome con y sin seguridad web al mismo tiempo? .
Básicamente, ejecutando el siguiente comando (o creando un acceso directo con él y abriendo Chrome a través de eso)
puedes abrir una nueva instancia "insegura" de Chrome al mismo tiempo que mantienes tus otras instancias de navegador "seguras" abiertas y funcionando normalmente. Importante : elimine / borre la
C:/Chrome dev session
carpeta cada vez que abra una ventana, ya que la segunda vez--disable-web-security
no funcionará. Por lo tanto, no puede guardar sus cambios y luego abrirlo nuevamente como una segunda instancia insegura de Chrome con--disable-web-security
.fuente
"C:\..\chrome.exe" --disable-web-security --user-agent="Android" --user-data-dir="C:/temp-chrome-eng" --app="file:///C:/apps/index.html"
open -a Google\ Chrome --args --disable-web-security -–allow-file-access-from-files --user-data-dir="/Users/myuser/temp/chromeData"
, solo hizo que la ventana de cromo existente se enfocara, ¿nada más?open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/chrome_dev_session" --disable-web-security
(Es posible que primero deba crear la carpeta temporal)Para Windows :
Ejecute el siguiente comando:
Para Mac :
Ejecute el siguiente comando:
Un nuevo navegador web Chrome deshabilitado de seguridad debería abrirse con el siguiente mensaje:
fuente
Run
.Para usuarios de Windows con Chrome Versiones 60.0.3112.78 (el día que se probó y trabajó la solución) y al menos hasta hoy 19.01.2019 (ver. 71.0.3578.98) . No es necesario cerrar ninguna instancia de Chrome.
¡CUIDADO DE NO USAR ESTA INSTANCIA DE NAVEGADOR EN PARTICULAR PARA NAVEGAR PORQUE PUEDE SER HACKEADO CON ELLA!
fuente
EDITAR 3: Parece que la extensión ya no existe ... Normalmente, para evitar CORS en estos días configuré otra versión de Chrome con un directorio separado o uso Firefox con https://addons.mozilla.org/en-US/ firefox / addon / cors-everywhere / en su lugar.
EDIT 2: ya no puedo hacer que esto funcione de manera consistente.
EDITAR: intenté usar el otro día para otro proyecto y dejó de funcionar. Desinstalar y reinstalar la extensión lo arregló (para restablecer los valores predeterminados).
Respuesta original
No quería reiniciar Chrome y deshabilitar mi seguridad web (porque estaba navegando mientras desarrollaba) y me topé con esta extensión de Chrome.
Chrome Web Store Allow-Control-Allow-Origin: *
(https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en)
Básicamente es un pequeño interruptor para activar y desactivar la verificación Permitir-Acceso-Origen-Control. Funciona perfectamente para mí por lo que estoy haciendo.
fuente
--disable-web-security
interruptor en ese caso.--allow-file-access-from-files
lugar de deshabilitar toda la seguridad web.Parece que ninguna de las soluciones anteriores está funcionando realmente. El --disable-web-seguridad ya no se admite en las versiones recientes de cromo.
Allow-Control-Allow-Origin: * - la extensión de Chrome resolvió parcialmente el problema. Funciona solo si su solicitud está utilizando el método GET y no hay un encabezado HTTP personalizado. De lo contrario, Chrome enviará la solicitud HTTP OPTIONS como una solicitud previa al vuelo. Si el servidor no admite CORS, responderá con un código de estado HTTP 404. El complemento no puede modificar el código de estado HTTP de respuesta. Entonces Chrome rechazará esta solicitud. No hay forma de que el complemento de Chrome modifique el código de estado HTTP de respuesta basado en la API de extensión de Chrome actual. Y tampoco puede hacer una redirección para la solicitud iniciada por XHR.
No estoy seguro de por qué Chrome hace la vida de los desarrolladores tan difícil. Bloquea todas las formas posibles de deshabilitar la comprobación de seguridad XSS, incluso para el uso de desarrollo, que es totalmente innecesario.
Después de días de lucha e investigación, una solución funciona perfectamente para mí: usar corsproxy . Tiene dos opciones aquí: 1. usar [ https://cors-anywhere.herokuapp.com/] 2. instalar corsproxy en el cuadro local: npm install -g corsproxy
[Actualizado el 23 de junio de 2018] Reciente estoy desarrollando una aplicación SPA que necesita usar corsproxy nuevamente. Pero parece que ninguno de los corsproxy en el github puede cumplir con mis requisitos.
Entonces decido desarrollar mi propia versión de corsproxy con nodejs. En realidad es muy simple. Lo he publicado como una esencia en el github. Aquí está el código fuente: https://gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10
Para iniciar el servidor CORSProxy (puerto http 8080): nodo static_server.js 8080
para acceder al proxy: http: // host: 8080 / http: //www.somesite.com
fuente
Para Windows ... cree un acceso directo de Chrome en su escritorio.
Haga clic con el botón derecho> propiedades> Acceso directo
Editar ruta "objetivo":
(Cambie 'C: .... \ chrome.exe' a donde se encuentre su Chrome).
et voilà :)
fuente
Pruebe este comando en la terminal Mac
Abre otra instancia de Chrome con seguridad deshabilitada y ya no hay problema CORS. Además, ya no necesita cerrar otras instancias de Chrome. Cambie la URL localhost por la suya.
fuente
Creo que la mejor manera de hacerlo es duplicar un acceso directo de Chrome o Chrome Canary en el escritorio de Windows. Cambie el nombre de este acceso directo a "NO CORS" y luego edite las propiedades de ese acceso directo.
en el objetivo, agregue
--disable-web-security --user-data-dir="D:/Chrome"
al final de la ruta de destino.su objetivo debería verse más o menos así:
Actualización: se agregaron nuevas banderas.
fuente
usando la última versión actual de Chrome (83.0.4103.61 (versión oficial) (64 bits)), la única forma de hacerlo funcionar en mi prueba era iniciar Chrome usando los siguientes indicadores (cambie el D: \ temp a su gusto) . Esta solución iniciará Chrome como caja de arena para las pruebas y no afectará el perfil principal de Chrome:
en windows, haga clic en el botón de inicio y luego copie y pegue lo siguiente:
fuente
chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
en larun
ventana de Windows 10. Muchas gracias.Puede usar este complemento de Chrome llamado "Allow-Control-Allow-Origin: *" ... Lo hace muy simple y funciona muy bien. compruébalo aquí: *
fuente
Para Selenium Webdriver, puede hacer que Selenium inicie Chrome con los argumentos apropiados (o "interruptores") en este caso.
fuente
Si está utilizando Google Chrome en Linux, el siguiente comando funciona.
fuente
Este complemento de Chrome funciona para mí: Allow-Control-Allow-Origin: * - Chrome Web Store
fuente
¡No hagas esto! Estás abriendo tus cuentas a los ataques . Una vez que haga esto, cualquier sitio de terceros puede comenzar a emitir solicitudes a otros sitios web, sitios en los que ha iniciado sesión.
En su lugar, ejecute un servidor local. Es tan fácil como abrir un shell / terminal / línea de comando y escribir
Luego apunte su navegador a
Si encuentra que es demasiado lento, considere esta solución
Actualizar
Las personas que voten negativamente por esta respuesta deberían ir aquí y también por esta para ser coherentes. No tengo idea de por qué mi respuesta es tan negativa y la misma respuesta aquí es la respuesta más votada.
Te estás abriendo a los ataques. Cada secuencia de comandos de terceros que incluya en su sitio de forma remota o local como npm ahora puede cargar sus datos o robar sus credenciales. Estás haciendo algo que no tienes que hacer. La solución sugerida no es difícil, toma 30 segundos, no te deja un ataque abierto. ¿Por qué elegirías hacerte vulnerable cuando lo mejor que puedes hacer es tan simple?
Decirles a las personas que desactiven la seguridad es como decirles a sus amigos que dejen la puerta de su casa sin llave y / o una llave debajo del tapete. Claro que las probabilidades pueden ser bajas, pero si se roban, sin prueba de entrada forzada, podrían tener dificultades para cobrar un seguro. Del mismo modo, si deshabilita la seguridad , solo está deshabilitando la seguridad . Es irresponsable hacer esto cuando puede resolver el problema de manera tan simple sin desactivar la seguridad. Me sorprendería que no pudieras ser despedido de algunas empresas por deshabilitar la seguridad.
fuente
Simplemente puede usar esta extensión de Chrome Allow-Control-Allow-Origin
simplemente haga clic en el icono de la extensión para activar o desactivar el intercambio de recursos cruzados como desee
fuente
SOLO PARA USUARIOS DE MAC
fuente
fuente
En Windows 10, lo siguiente funcionará.
fuente
Siguiendo la respuesta de Ola Karlsson, de hecho, la mejor manera sería abrir el Chrome inseguro en una sesión diferente. De esta manera, no necesita preocuparse por cerrar todas las pestañas abiertas actualmente, y también puede continuar navegando por la web de forma segura con la sesión original de Chrome.
Estos archivos por lotes deberían funcionar para usted en Windows.
Póngalo en un archivo Chrome_CORS.bat para un uso fácil
Este es para Chrome Canary . Canary_CORS.bat
fuente
En Linux- Ubuntu, para ejecutar simultáneamente una sesión normal y una sesión insegura, ejecute el siguiente comando:
fuente
para usuarios de mac:
y antes de Chrome 48, podría usar:
fuente
Hay una extensión de Chrome llamada CORS Toggle.
Haga clic aquí para acceder y agregarlo a Chrome .
Después de agregarlo, alterne a la posición de encendido para permitir solicitudes de dominio cruzado.
fuente
Para OSX, ejecute el siguiente comando desde la terminal:
Esto iniciará una nueva instancia de Google Chrome con una advertencia en la parte superior.
fuente
este es un objetivo siempre en movimiento ... hoy necesitaba agregar otra bandera para que funcione:
--disable-site-isolation-trials
OS X:
open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome_dev_2" --disable-web-security --disable-site-isolation-trials
fuente
Para ventanas:
(usando Windows 8.1, Chrome 44.0 )
Primero, cierra google chrome.
Luego, abra el símbolo del sistema y vaya a la carpeta donde está 'chrome.exe'.
Entonces escribo:
cd C:\Program Files (x86)\Google\Chrome\Application
)ahora escribe:
chrome.exe --disable-web-security
se abrirá una nueva ventana de cromo.
fuente
Se usa el siguiente comando en Ubuntu para iniciar Chrome (deshabilitar la misma política de origen y abrir Chrome en modo separado):
fuente
En Windows:
1) Crear un nuevo acceso directo:
2) Pegue la siguiente ruta:
3) En la página siguiente escriba:
Ahora tiene un Chrome inseguro en el escritorio para usar para depurar aplicaciones CORS. ¡Espero que esta respuesta gráfica ayude a algunas personas!
fuente
Intente ir a esta página y deshabilite la política de seguridad de dominio para el dominio de su sitio web.
fuente
Input a domain name to delete its dynamic domain security policies (HSTS and Expect-CT). (You cannot delete preloaded entries.):
.