Отключить веб-безопасность в 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

mxxk
источник
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

user2634882
источник
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"

Ручи Прасад
источник