Отключить веб-безопасность в Chrome 48+


87

У меня проблема с --disable-web-securityфлагом. Он не работает в Chrome 48 и Chrome 49 beta в Windows.

Я пробовал убить все экземпляры, сначала перезагрузить и запустить Chrome с флагом, также пробовал разные машины. В бета-версии я вижу всплывающее окно с предупреждением («Вы используете неподдерживаемый флаг ..»), но CORS все еще применяется. Публичная версия, похоже, полностью игнорирует флаг.

Похоже, что нет никаких новостей или сообщений об этом, так что это может быть местная проблема. Будем благодарны за помощь или любую сопутствующую информацию.


Ответственные разработчики не отключают веб-безопасность stackoverflow.com/a/33801287/128511
gman

Ответы:


39

Обновление 2020-04-30

Начиная с Chrome 81, для вступления в силу обязательно передать оба пути --disable-site-isolation-trials и непустой путь к профилю :--user-data-dir--disable-web-security

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

(Предположение) Вероятно, что Chrome требует непустой путь к профилю, чтобы снизить высокий риск безопасности при запуске браузера с отключенной веб-безопасностью в профиле по умолчанию. См. --user-data-dir=Vs --user-data-dir=/some/path для более подробной информации ниже.

Спасибо @ Snæbjørn за совет Chrome 81 в комментариях.


Обновление 2020-03-06

Начиная с Chrome 80 (возможно, даже раньше), комбинация флагов --user-data-dir=/tmp/some-path --disable-web-security --disable-site-isolation-trials больше не отключает веб-безопасность .

Неясно, когда кодовая база Chromium регрессировала, но загрузка более старой сборки Chromium (следуя «Непростым шагам» на странице загрузки Chromium ) - это единственный обходной путь, который я нашел. В итоге я использовал версию 77.0.3865.0, которая правильно отключает веб-безопасность с этими флагами.


Исходное сообщение 2019-11-01

В Chrome 67+ необходимо передавать --disable-site-isolation-trialsфлаг вместе с аргументами --user-data-dir=и полностью --disable-web-securityотключать веб-безопасность.

В MacOS полная команда выглядит так:

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

Что касается --user-data-dir

Согласно ответу Дэвида Эйми , все еще необходимо указать, --user-data-dir=чтобы Chrome уважал эту --disable-web-securityопцию.

--user-data-dir= против --user-data-dir=/some/path

Хотя передача пустого пути через --user-data-dir=работает с --disable-web-security, это не рекомендуется в целях безопасности, поскольку он использует ваш профиль Chrome по умолчанию, в котором есть активные сеансы входа в систему по электронной почте и т. Д. При отключенной безопасности Chrome ваши активные сеансы, таким образом, уязвимы для дополнительных входов. браузерные эксплойты.

Таким образом, рекомендуется использовать альтернативный каталог для вашего профиля Chrome с расширением --user-data-dir=/tmp/chrome-sesh. Кредит @James B указывают на это в комментариях.

Источник

Это исправление было отвергнуто в рамках тестирования браузера Cypress: https://github.com/cypress-io/cypress/issues/1951


3
То, что для его работы не требуется значение, не означает, что это хорошая идея. Выполнение заданной вами команды откроет ваш профиль Chrome по умолчанию с установленными сеансами для вашей электронной почты / банка / чего угодно, но без веб-безопасности, чтобы эти учетные записи не были взломаны вредоносными сайтами.
Джеймс Би

Хороший замечание @JamesB. Я превратил ваше понимание в ответ.
mxxk

На моем Mac с Chrome 81 эта команда работала: open -na Google\ Chrome --args --disable-web-security --disable-gpu --user-data-dir=~/chromeTempя получаю предупреждение с жалобой на ~/chromeTempкаталог, но работает
Дэвид

1
Застрял на Enterprise Chrome 79-ish, и я могу подтвердить, что флаги безопасности все еще работают.
Борис

1
Я могу подтвердить, что --user-data-dir=C:\tmp\some-path --disable-web-security --disable-site-isolation-trialsработает в Chrome 81 на Windows 10
Snæbjørn

87

Я вижу то же самое. Быстрый гугл нашел этот вопрос и ошибку на форумах хрома . Похоже, --user-data-dirфлаг сейчас требуется. Отредактируйте, чтобы добавить руководство пользователя-данных-каталога


4
Спасибо, это работает! Однако пустой --user-data-dir больше не работает в бета-версии. Для работы обоих флагов необходимо предоставить значение пользовательским данным.
Анатолий Сазанов

Спасибо за ответ. У меня все еще были проблемы, так как я никогда не реализовывал это раньше, поэтому, если люди все еще не понимают, прочитав вышеизложенное, см. Мой ответ ниже.
Дэн Зузевич

60

Mac OS:

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

UPD: добавить =в --user-data-dirпотому , что новые версии хрома требуют, чтобы работы


2
Поскольку это было исправлено, вам нужно указать каталог данных пользователя так: open -a Google\ Chrome --args --disable-web-security --user-data-dir=/some/dir
Дэвид Эми,

9
Для Chrome версии 50+ для пользователей Mac. Сначала закройте все открытые Chrome и выполните open -a Google\ Chrome --args --disable-web-security --user-data-dir=""
Velu S Gautam

Примечание. Должен появиться баннер с сообщением «Интернет-безопасность отключена». Если этот баннер не появляется, вам необходимо принудительно выйти из Chrome перед запуском команды (щелкните правой кнопкой мыши значок быстрого запуска -> выйти -> повторно запустить команду).
Z. Bagley

Обратите внимание ! С версии 80 Chrome --user-data-dir=""больше не работает с --disable-web-security. Вам нужно поставить настоящий путь, например--user-data-dir="/tmp/temppropfile"
кеул

26

В OS X, чтобы открыть новое окно Chrome - без необходимости сначала закрывать уже открытые окна - передайте дополнительный флаг -n . Обязательно укажите пустую строку для data-dir (необходимо для более новых версий Chrome, например v50 something +).

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

Я обнаружил, что при использовании Chrome 60+ в Mac OS X Sierra указанная выше команда больше не работает, но есть небольшая модификация:

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

Путь к каталогу данных важен. Даже если вы находитесь в своем домашнем каталоге при выполнении команды, вы не можете просто сослаться на локальный каталог. Это должен быть абсолютный путь.


1
Благодарность! Расширение Google, Allow-Control-Allow-Origin: у меня не сработало, но это сработало!
user2326737

23

Выбранный ответ хорош, но для тех, кто все еще борется с тем, о чем они говорят (вы впервые столкнулись с этой проблемой), у меня сработало следующее.

Я создал новый ярлык для Chrome на своем рабочем столе, щелкнул его правой кнопкой мыши и установил в поле «Цель» следующее:

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

Каталог может быть любым, я решил сделать в моем каталоге C: пустую папку с именем chrome dev. Это не имеет никакого отношения к тому, где на вашем компьютере установлен Chrome. Это просто пустяк.

По этой ссылке также есть четкие указания для других ОС. Как отключить веб-безопасность в Chrome


15

Версия 49.0.2623.75 (64-битная) больше не находится в стадии бета-тестирования.

Команда для устранения проблемы CORS: google-chrome-stable --disable-web-security --user-data-dir


1
Я должен это делать каждый раз?
Compaq LE2202x 07

10

Установите этот Chrome-плагин для отключения веб-безопасности в Chrome:

Ссылка "Allow-Control-Allow-Origin: *" Здесь или вы можете использовать google выше плагин, если хотите.

с помощью этого плагина очень легко включать и отключать безопасность.


1
Срок действия ссылки истек
Андрюс Нарушявичюс

3

Для Chrome версии 50+ для пользователей Mac. Сначала закройте весь открытый хром и выполните следующую команду

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

Вышеупомянутое будет работать. Благодарность


2

Для Mac использование Safari - хороший альтернативный вариант для целей локальной разработки, и эта функция встроена в браузер (поэтому нет необходимости добавлять расширение браузера или запускать Chrome с помощью команды bash, например [open -a Google \ Chrome --args --disable -web-security --user-data-dir = ""].

Чтобы отключить ограничение перекрестного происхождения с помощью Safari (v11 +): В меню выберите «Разработка> Отключить ограничение перекрестного происхождения».

Это не требует перезапуска браузера, и, поскольку это переключатель, вы можете легко переключиться в безопасный режим.


2

В терминал поместите это:

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

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

1

На дату этого ответа (март 2020 г.) существует плагин для Chrome под названием CORS unblock, который позволяет пропустить эту политику браузера. «Политика одного и того же происхождения» - важная функция безопасности браузеров. Пожалуйста, устанавливайте этот плагин только в целях разработки или тестирования. Не продвигайте его установку в браузерах конечных клиентов, потому что вы ставите под угрозу безопасность пользователей, и сообщество Chrome будет вынуждено удалить этот плагин из магазина.


1

Начиная с Chorme v81 для params --user-data-dir=требуется фактический параметр, тогда как в прошлом этого не было. Что-то вроде этого у меня отлично работает

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

0

Это сработало для меня. Попробуйте использовать это .. это поможет вам ..

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.