Disable-web-security en Chrome 48+

86

Tengo un problema con la --disable-web-securitybandera. No funciona en Chrome 48 y Chrome 49 beta en Windows.

Intenté matar todas las instancias, reiniciar y ejecutar Chrome con la bandera en primer lugar, también probé diferentes máquinas. En la versión beta, puedo ver la ventana emergente de advertencia ("Estás usando una bandera no admitida ..."), pero CORS aún se está aplicando. La versión pública parece ignorar la bandera por completo.

Parece que no hay noticias o informes de personas sobre eso, por lo que podría ser un problema local. Estará agradecido por la ayuda o cualquier información relacionada.

Anatoly Sazanov
fuente
Los desarrolladores responsables no deshabilitan la seguridad web stackoverflow.com/a/33801287/128511
gman

Respuestas:

38

Actualización 2020-04-30

A partir de Chrome 81, es obligatorio pasar ambos --disable-site-isolation-trials y una ruta de perfil no vacía --user-data-dirpara --disable-web-securityque surta efecto:

# MacOS
open -na Google\ Chrome --args --user-data-dir=/tmp/temporary-chrome-profile-dir --disable-web-security --disable-site-isolation-trials

(Especulación) Es probable que Chrome requiera una ruta de perfil que no esté vacía para mitigar el alto riesgo de seguridad de iniciar el navegador con la seguridad web deshabilitada en el perfil predeterminado. Consulte --user-data-dir=vs --user-data-dir=/some/path para obtener más detalles a continuación.

Gracias a @ Snæbjørn por el consejo de Chrome 81 en los comentarios.


Actualización 2020-03-06

A partir de Chrome 80 (posiblemente incluso antes), la combinación de indicadores --user-data-dir=/tmp/some-path --disable-web-security --disable-site-isolation-trials ya no desactiva la seguridad web .

No está claro cuándo retrocedió el código base de Chromium, pero la única solución que encontré fue descargar una versión anterior de Chromium (siguiendo los "Pasos no tan fáciles" en la página de descarga de Chromium ). Terminé usando la versión 77.0.3865.0, que deshabilita correctamente la seguridad web con estas banderas.


Publicación original 2019-11-01

En Chrome 67+, es necesario pasar la --disable-site-isolation-trialsbandera junto con los argumentos --user-data-dir=y --disable-web-securitydeshabilitar realmente la seguridad web.

En MacOS, el comando completo se convierte en:

open -na Google\ Chrome --args --user-data-dir= --disable-web-security --disable-site-isolation-trials

Respecto a --user-data-dir

Según la respuesta de David Amey , todavía es necesario especificar --user-data-dir=que Chrome respete la --disable-web-securityopción.

--user-data-dir= vs --user-data-dir=/some/path

Aunque pasar una ruta vacía a través de --user-data-dir=funciona con --disable-web-security, no se recomienda por motivos de seguridad, ya que utiliza su perfil de Chrome predeterminado, que tiene sesiones de inicio de sesión activas para correo electrónico, etc. Con la seguridad de Chrome deshabilitada, sus sesiones activas son vulnerables a errores adicionales. exploits del navegador.

Por lo tanto, se recomienda utilizar un directorio alternativo para su perfil de Chrome con --user-data-dir=/tmp/chrome-sesho equivalente. Gracias a @James B por señalar esto en los comentarios.

Fuente

Esta corrección se descubrió dentro del marco de prueba del navegador Cypress: https://github.com/cypress-io/cypress/issues/1951

mxxk
fuente
3
El hecho de que no se requiera un valor para que funcione no significa que sea una buena idea. Ejecutar el comando que da abrirá su perfil de Chrome predeterminado, con sesiones establecidas en su correo electrónico / banco / lo que sea, pero sin seguridad web para evitar que esas cuentas se vean comprometidas por sitios maliciosos.
James B
Buen punto @JamesB. Hice rodar su conocimiento en la respuesta.
mxxk
En mi Mac con Chrome 81, este comando funcionó: open -na Google\ Chrome --args --disable-web-security --disable-gpu --user-data-dir=~/chromeTempobtengo una alerta quejándose del ~/chromeTempdirectorio, pero funciona
David
1
Atascado en Enterprise Chrome 79-ish y puedo confirmar que las banderas de seguridad aún funcionan.
Boris
1
Puedo confirmar que --user-data-dir=C:\tmp\some-path --disable-web-security --disable-site-isolation-trialsfunciona en Chrome 81 en Windows 10
Snæbjørn
87

Estoy viendo lo mismo. Un google rápido encontró esta pregunta y un error en los foros de chrome . Parece que --user-data-dirahora se requiere la bandera. Editar para agregar la guía de directorio de datos de usuario

David Amey
fuente
4
¡Gracias, funciona! Sin embargo, vacío --user-data-dir ya no funciona en beta. Se debe proporcionar un valor a los datos del usuario para que funcionen ambos indicadores.
Anatoly Sazanov
Gracias por la respuesta. Todavía tenía problemas, ya que nunca implementé esto antes, por lo que si las personas aún están confundidas después de leer lo anterior, consulte mi respuesta a continuación.
Dan Zuzevich
60

Mac OS:

open -a Google\ Chrome --args --disable-web-security --user-data-dir=

UPD: añadir =a --user-data-dirporque las versiones más nuevas de cromo lo requieren con el fin de obra

jirikolarik
fuente
2
Dado que esto se solucionó, deberá especificar un directorio de datos de usuario para: open -a Google\ Chrome --args --disable-web-security --user-data-dir=/some/dir
David Amey
9
Para Chrome versión 50+ para usuarios de Mac. Primero cierre todos los Chrome abiertos y ejecute el siguiente comando open -a Google\ Chrome --args --disable-web-security --user-data-dir=""
Velu S Gautam
Nota: Debería aparecer un banner que indique "la seguridad web está desactivada". Si este banner no aparece, debe asegurarse de forzar el cierre de Chrome antes de ejecutar el comando (haga clic con el botón derecho en el icono de inicio rápido -> salir -> volver a ejecutar el comando).
Z. Bagley
¡Tenga en cuenta ! Desde la versión 80 de Chrome, --user-data-dir=""ya no funciona --disable-web-security. Necesitas poner un camino real como--user-data-dir="/tmp/temppropfile"
keul
26

En OS X, para abrir una nueva ventana de Chrome, sin tener que cerrar primero las ventanas que ya están abiertas, pase la bandera -n adicional . Asegúrese de especificar una cadena vacía para data-dir (necesario para las versiones más nuevas de Chrome, como v50 algo +).

open -na /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir=""

Descubrí que al usar Chrome 60+ en Mac OS X Sierra, el comando anterior ya no funcionaba, pero una pequeña modificación sí:

open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --user-data-dir="/tmp/chrome_dev_sess_1" --disable-web-security

La ruta del directorio de datos es importante. Incluso si está parado en su directorio de inicio cuando emite el comando, no puede simplemente referirse a un directorio local. Debe ser un camino absoluto.

Per Quested Aronsson
fuente
1
¡Gracias! Extensión de Google, Allow-Control-Allow-Origin: no me funcionó, ¡pero esto sí!
user2326737
23

La respuesta elegida es buena, pero para aquellos que todavía están luchando con lo que están hablando (la primera vez que lidia con este problema), lo siguiente funcionó para mí.

Creé un nuevo acceso directo a Chrome en mi escritorio, hice clic derecho en él y establecí el campo "Destino" en lo siguiente:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="c:/chromedev"

El directorio puede ser lo que quieras, decidí crear una carpeta vacía llamada chrome dev en mi directorio C :. No tiene nada que ver donde Chrome está instalado en su computadora. Es solo una cosa tipo pelusa.

Este enlace también tiene instrucciones claras para otros sistemas operativos. Cómo deshabilitar la seguridad web en Chrome

Dan Zuzevich
fuente
15

La versión 49.0.2623.75 (64 bits) ya no está en beta.

El comando para solucionar el problema de CORS es google-chrome-stable --disable-web-security --user-data-dir

usuario2634882
fuente
1
¿Tengo que hacer esto cada vez?
Compaq LE2202x
10

Instale este complemento de Chrome para Disable-web-security en Chrome ::

Enlace "Allow-Control-Allow-Origin: *" aquí o puede buscar en Google el complemento anterior si lo desea.

es muy fácil habilitar y deshabilitar la seguridad con este complemento.

Mehul D
fuente
1
El enlace ha expirado
Andrius Naruševičius
3

Para Chrome versión 50+ para usuarios de Mac. Primero cierre todos los Chrome abiertos y ejecute el siguiente comando

open -a Google\ Chrome --args --disable-web-security --user-data-dir=""

Lo anterior funcionará. Gracias

Velu S Gautam
fuente
2

Para Mac, el uso de Safari es una buena opción alternativa para fines de desarrollo local y la función está integrada en el navegador (por lo que no es necesario agregar una extensión del navegador o iniciar Chrome usando un comando bash como [open -a Google \ Chrome --args --disable -web-security --user-data-dir = ""].

Para deshabilitar la restricción de origen cruzado usando Safari (v11 +): Desde el menú, haga clic en "Desarrollar> Deshabilitar restricción de origen cruzado".

Esto no requiere reiniciar el navegador y, dado que es un interruptor, puede cambiar fácilmente al modo seguro.

Maksood
fuente
2

En una terminal pon estos:

cd C:\Program Files (x86)\Google\Chrome\Application

chrome.exe --disable-web-security --user-data-dir="c:/chromedev"
Tabares
fuente
1

A la fecha de esta respuesta (marzo de 2020), hay un complemento para Chrome llamado Desbloqueo de CORS que le permite omitir esa política del navegador. La 'política del mismo origen' es una característica de seguridad importante de los navegadores. Instale este complemento solo para fines de desarrollo o prueba. No promocione su instalación en los navegadores del cliente final porque compromete la seguridad de los usuarios y la comunidad de Chrome se verá obligada a eliminar este complemento de la tienda.

JorgeMora
fuente
1

Desde Chorme v81, los params --user-data-dir=requieren un parámetro real, mientras que en el pasado no lo hacía. Algo como esto funciona bien para mi

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="\tmp\chrome_test"
Irrech
fuente
0

Funciona para mí. Intenta usar esto ... te ayudará ...

c:\Program Files\Google\Chrome\Application>chrome.exe --disable-web-security --user-data-dir="D:\chrome"

Ruchi Prasad
fuente