Отключить web security в chrome
У меня проблема с --disable-web-security флагом. Он не работает в Chrome 48 и Chrome 49 beta в Windows.
Я пробовал убить все экземпляры, сначала перезагрузить и запустить Chrome с флагом, также пробовал разные машины. В бета-версии я вижу всплывающее окно с предупреждением («Вы используете неподдерживаемый флаг ..»), но CORS все еще применяется. Публичная версия, похоже, полностью игнорирует флаг.
Начиная с Chrome 81, для вступления в силу обязательно передать оба пути --disable-site-isolation-trials и непустой путь к профилю : --user-data-dir --disable-web-security
(Предположение) Вероятно, что Chrome требует непустой путь к профилю, чтобы снизить высокий риск безопасности при запуске браузера с отключенной веб-безопасностью в профиле по умолчанию. См. --user-data-dir= Vs --user-data-dir=/some/path для более подробной информации ниже.
Спасибо @ Snæbjørn за совет Chrome 81 в комментариях.
Начиная с Chrome 80 (возможно, даже раньше), комбинация флагов --user-data-dir=/tmp/some-path --disable-web-security --disable-site-isolation-trials больше не отключает веб-безопасность .
Неясно, когда кодовая база Chromium регрессировала, но загрузка более старой сборки Chromium (следуя «Непростым шагам» на странице загрузки Chromium ) - это единственный обходной путь, который я нашел. В итоге я использовал версию 77.0.3865.0, которая правильно отключает веб-безопасность с этими флагами.
В Chrome 67+ необходимо передавать --disable-site-isolation-trials флаг вместе с аргументами --user-data-dir= и полностью --disable-web-security отключать веб-безопасность.
В MacOS полная команда выглядит так:
Что касается --user-data-dir
Согласно ответу Дэвида Эйми, по-прежнему необходимо указать --user-data-dir= , чтобы Chrome соблюдал --disable-web-security вариант.
Источник
То, что для его работы не требуется значение, не означает, что это хорошая идея. Выполнение заданной вами команды откроет ваш профиль Chrome по умолчанию с установленными сеансами для вашей электронной почты / банка / чего угодно, но без веб-безопасности, чтобы эти учетные записи не были взломаны вредоносными сайтами.
На моем Mac с Chrome 81 эта команда работала: open -na Google\ Chrome --args --disable-web-security --disable-gpu --user-data-dir=~/chromeTemp я получаю предупреждение с жалобой на ~/chromeTemp каталог, но работает
Я могу подтвердить, что --user-data-dir=C:\tmp\some-path --disable-web-security --disable-site-isolation-trials работает в Chrome 81 на Windows 10
Я вижу то же самое. Быстрый гугл нашел этот вопрос и ошибку на форумах хрома . Похоже, --user-data-dir флаг сейчас требуется. Отредактируйте, чтобы добавить руководство пользователя-данных-каталога
Спасибо, это работает! Однако пустой --user-data-dir больше не работает в бета-версии. Для работы обоих флагов необходимо предоставить значение пользовательским данным.
Спасибо за ответ. У меня все еще были проблемы, так как я никогда не реализовывал это раньше, поэтому, если люди все еще не понимают, прочитав вышеизложенное, см. Мой ответ ниже.
open -a Google\ Chrome --args --disable-web-security --user-data-dir=
UPD: добавить = в --user-data-dir потому , что новые версии хрома требуют, чтобы работы
Поскольку это было исправлено, вам нужно указать каталог данных пользователя так: open -a Google\ Chrome --args --disable-web-security --user-data-dir=/some/dir
Для Chrome версии 50+ для пользователей Mac. Сначала закройте все открытые Chrome и выполните open -a Google\ Chrome --args --disable-web-security --user-data-dir=""
Обратите внимание ! С версии 80 Chrome --user-data-dir="" больше не работает с --disable-web-security . Вам нужно поставить настоящий путь, например --user-data-dir="/tmp/temppropfile"
В OS X, чтобы открыть новое окно Chrome - без необходимости сначала закрывать уже открытые окна - передайте дополнительный флаг -n . Обязательно укажите пустую строку для data-dir (необходимо для более новых версий Chrome, например v50 something +).
Я обнаружил, что при использовании Chrome 60+ в Mac OS X Sierra указанная выше команда больше не работает, но есть небольшая модификация:
Путь к каталогу данных важен. Даже если вы находитесь в своем домашнем каталоге при выполнении команды, вы не можете просто сослаться на локальный каталог. Это должен быть абсолютный путь.
Выбранный ответ хорош, но для тех, кто все еще борется с тем, о чем они говорят (вы впервые столкнулись с этой проблемой), у меня сработало следующее.
Я создал новый ярлык для Chrome на своем рабочем столе, щелкнул его правой кнопкой мыши и установил в поле «Цель» следующее:
Каталог может быть любым, я решил сделать в моем каталоге C: пустую папку с именем chrome dev. Это не имеет никакого отношения к тому, где на вашем компьютере установлен Chrome. Это просто пустяк.
По этой ссылке также есть четкие указания для других ОС. Как отключить веб-безопасность в Chrome
I have a problem with the --disable-web-security flag. It is not working in Chrome 48 and Chrome 49 beta on Windows.
I've tried killing all of the instances, reboot and run Chrome with the flag first of all, tried different machines as well. In the beta I can see the warning popup ("You are using unsupported flag.."), but CORS is still being enforced. Public version seems to ignore the flag completely.
There seems to be no news or people reports about that, so it might be a local issue. Will be grateful for help or any related info.
@gman: It's a simple and reliable solution for a problem that you sometimes have during development. Just remember to close that browser instance again. No need for FUD.
13 Answers 13
As of Chrome 95, on MacOS and Windows, --disable-site-isolation-trials remains a required flag in order to disable web security, so the command-line arguments to Chrome seen below are still valid. (Some of the arguments are not formally supported by Chrome, as it will warn you.)
To test whether you've successfully launched Chrome with web security disabled, run the snippet in Web Security Test at the bottom of this post.
As of Chrome 81, it is mandatory to pass both --disable-site-isolation-trials and a non-empty profile path via --user-data-dir in order for --disable-web-security to take effect:
(Speculation) It is likely that Chrome requires a non-empty profile path to mitigate the high security risk of launching the browser with web security disabled on the default profile. See --user-data-dir= vs --user-data-dir=/some/path for more details below.
Thanks to @Snæbjørn for the Chrome 81 tip in the comments.
As of Chrome 80 (possibly even earlier), the combination of flags --user-data-dir=/tmp/some-path --disable-web-security --disable-site-isolation-trials no longer disables web security.
It is unclear when the Chromium codebase regressed, but downloading an older build of Chromium (following "Not-so-easy steps" on the Chromium download page) is the only workaround I found. I ended up using Version 77.0.3865.0, which properly disables web security with these flags.
In Chrome 67+, it is necessary to pass the --disable-site-isolation-trials flag alongside arguments --user-data-dir= and --disable-web-security to truly disable web security.
On MacOS, the full command becomes:
--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 за указание на это в комментариях.
Что касается --user-data-dir
Согласно ответу Дэвида Эйми , все еще необходимо указать, --user-data-dir= чтобы Chrome уважал эту --disable-web-security опцию.
Источник
Это сработало для меня. Попробуйте использовать это .. это поможет вам ..
c:\Program Files\Google\Chrome\Application>chrome.exe --disable-web-security --user-data-dir="D:\chrome"
В Chorme v81 params --user-data-dir= требует фактического параметра, тогда как раньше этого не было. Что-то вроде этого у меня отлично работает
На дату этого ответа (март 2020 г.) существует плагин для Chrome под названием Разблокировка CORS, позволяющая пропустить эту политику браузера. «Политика одного и того же происхождения» - важная функция безопасности браузеров. Пожалуйста, устанавливайте этот плагин только в целях разработки или тестирования. Не продвигайте его установку в браузерах конечных клиентов, потому что вы ставите под угрозу безопасность пользователей, и сообщество Chrome будет вынуждено удалить этот плагин из магазина.
В терминал поместите это:
Для Mac использование Safari - хороший альтернативный вариант для целей локальной разработки, и эта функция встроена в браузер (поэтому нет необходимости добавлять расширение браузера или запускать Chrome с помощью команды bash, например [open -a Google \ Chrome --args --disable -web-security --user-data-dir = ""].
Чтобы отключить ограничение перекрестного происхождения с помощью Safari (v11 +): В меню выберите «Разработка> Отключить ограничение перекрестного происхождения».
Это не требует перезапуска браузера, и, поскольку это переключатель, вы можете легко переключиться в безопасный режим.
Для Chrome версии 50+ для пользователей Mac. Сначала закройте весь открытый хром и выполните следующую команду
Вышеупомянутое будет работать. Благодарность
Установите этот Chrome-плагин для отключения веб-безопасности в Chrome:
"Allow-Control-Allow-Origin: *" Ссылка здесь или при желании можно использовать Google над плагином.
С помощью этого плагина очень легко включать и отключать безопасность.
Версия 49.0.2623.75 (64-битная) больше не находится в стадии бета-тестирования.
Команда для устранения проблемы CORS: google-chrome-stable --disable-web-security --user-data-dir
Выбранный ответ хорош, но для тех, кто все еще борется с тем, о чем они говорят (вы впервые столкнулись с этой проблемой), у меня сработало следующее.
Я создал новый ярлык для Chrome на своем рабочем столе, щелкнул его правой кнопкой мыши и установил в поле «Цель» следующее:
Каталог может быть любым, я решил сделать в моем каталоге C: пустую папку с именем chrome dev. Это не имеет никакого отношения к тому, где на вашем компьютере установлен Chrome. Это просто пустяк.
По этой ссылке также есть четкие указания для других ОС. Как отключить веб-безопасность в Chrome
В OS X, чтобы открыть новое окно Chrome - без необходимости сначала закрывать уже открытые окна - передайте дополнительный флаг -n . Обязательно укажите пустую строку для data-dir (необходимо для более новых версий Chrome, например v50 something +).
Я обнаружил, что при использовании Chrome 60+ в Mac OS X Sierra указанная выше команда больше не работает, но есть небольшая модификация:
Путь к каталогу данных важен. Даже если вы находитесь в своем домашнем каталоге при вводе команды, вы не можете просто сослаться на локальный каталог. Это должен быть абсолютный путь.
open -a Google\ Chrome --args --disable-web-security --user-data-dir=
UPD: добавьте = в --user-data-dir , потому что новые версии Chrome требуют его для работы
Я вижу то же самое. Быстрый Google обнаружил этот вопрос и ошибку на форумах Chrome. Похоже, что теперь требуется флаг --user-data-dir . Отредактируйте, чтобы добавить руководство пользователя-данных-каталог.
Regarding --user-data-dir
Per David Amey's answer, it is still necessary to specify --user-data-dir= for Chrome to respect the --disable-web-security option.
Source
Run this snippet to confirm that this solution actually disabled web security in Google Chrome:
Is there any way to disable the Same-origin policy on Google's Chrome browser?
See also peter.sh/experiments/chromium-command-line-switches, I am not sure of its authenticity but it appears to be a collection produced by an automated process
--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 указывают на это в комментариях.
--user-data-dir= vs --user-data-dir=/some/path
Though passing in an empty path via --user-data-dir= works with --disable-web-security , it is not recommended for security purposes as it uses your default Chrome profile, which has active login sessions to email, etc. With Chrome security disabled, your active sessions are thus vulnerable to additional in-browser exploits.
Thus, it is recommended to use an alternative directory for your Chrome profile with --user-data-dir=/tmp/chrome-sesh or equivalent. Credit to @James B for pointing this out in the comments.
34 Answers 34
Close chrome (or chromium) and restart with the --disable-web-security argument. I just tested this and verified that I can access the contents of an iframe with src="http://google.com/" embedded in a page served from "localhost" (tested under chromium 5 / ubuntu). For me the exact command was:
Note : Kill all chrome instances before running command
The browser will warn you that "you are using an unsupported command line" when it first opens, which you can ignore.
From the chromium source:
Before Chrome 48, you could just use:
As of latest versions of chrome (e.g. I have version 92), "--disable-web-security" is necessary but not enough. It is also required to use "--disable-site-isolation-trials". See the more recent answer from @user2576266 below. (Note that chrome will still display a warning that "--disable-site-isolation-trials" is not understood. It actually works.)
for Chrome Version 96 , Use "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --disable-gpu --disable-features=IsolateOrigins,site-per-process --user-data-dir="C://ChromeDev" . just add --disable-features=IsolateOrigins,site-per-process , See this
Yep. For OSX, open Terminal and run:
Also if you're trying to access local files for dev purposes like AJAX or JSON, you can use this flag too.
For Windows go into the command prompt and go into the folder where Chrome.exe is and type
That should disable the same origin policy and allow you to access local files.
Update: For Chrome 22+ you will be presented with an error message that says:
You are using an unsupported command-line flag: --disable-web-security. Stability and security will suffer.
However you can just ignore that message while developing.
If you would like your existing user directory, on MacOS you may find it under: --user-data-dir="/Users/
C:\Program Files\Google\Chrome\Application - The default installation path for Chrome on Windows (as of 07/2021).
you need to specify 2 path one for chrome.exe and second one for data directory where chrome will store, make data-dir has write permissions "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
For Windows users:
The problem with the solution accepted here, in my opinion is that if you already have Chrome open and try to run the chrome.exe --disable-web-security command it won't work.
Basically, you need to add to the command and run it like this instead (or create a shortcut with it and run a new Chrome instance through that)
which will open a new "insecure" instance of Chrome at the same time as you keep your other "secure" browser instances open and working as normal.
This works by creating a new folder/directory "Chrome dev session" under C: and tells this new Chrome instance to use that folder/directory for its user and session data. Because of this, the new instance is separated from your "normal" Chrome data and your bookmarks and other saved data will not be available in this instance.
Note: only the first "new" instance of Chrome opened with this method, is effected, hence it is only the first tab in the first new Chrome window, which is effected. If you close that instance, you can use the same command again and for example any bookmarks to your local app or similar will still be there as it's pointing to the same folder.
If you want to run multiple "insecure" instances, each one will need its own folder/directory, so you will need to runt he command again with a different folder name. This however also means that each insecure instance will be separated from the others, so any bookmarks or other saves user or session data will not be available across instances.
I don't know but maybe it's because in general, Google/Chrome probably don't want you to disable the security.
For Windows:
Open the start menu
Type windows + R or open "Run"
Execute the following command:
For Mac:
Execute the following command:
A new web security disabled chrome browser should open with the following message:
For Mac
If you want to open new instance of web security disabled Chrome browser without closing existing tabs then use below command
It will open new instance of web security disabled Chrome browser as shown below
Using the current latest chrome Version 100.0.4896.127 (Official Build) (64-bit)
windows : click the start button then copy paste the below (change the D:\temp to your liking).:
Linux : start a terminal then run the below command (change the ~/tmp directory to your liking)
Note : This solution will start chrome in an isolated sandbox and it will not affect the main chrome profile.
This is the only solution works for me. I have run this chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp" on run window on windows 10. Thanks a lot.
Adding --disable-site-isolation-trials really helped me in my case, Chrome v 75.0, Selenium Web Driver, Java. Thanks!
It works for me on Linux, but with a little modification google-chrome --disable-site-isolation-trials --disable-web-security --user-data-dir="/tmp"
I have version 95, but adding --disable-site-isolation-trials does not work. Any workaround for this?
For windows users with Chrome Versions 60.0.3112.78 (the day the solution was tested and worked) and at least until today 19.01.2019 (ver. 71.0.3578.98). You do not need to close any chrome instance.
- Create a shortcut on your desktop
- Right-click on the shortcut and click Properties
- Edit the Target property
- Set it to "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="C:/ChromeDevSession"
- Start chrome and ignore the message that says --disable-web-security is not supported!
BEWARE NOT TO USE THIS PARTICULAR BROWSER INSTANCE FOR BROWSING BECAUSE YOU CAN BE HACKED WITH IT!
Worked like a charm. I can't believe Chrome doesn't allow developers to disable this without starting a new session. At least they have a way though.
EDIT 2: I can no longer get this to work consistently.
EDIT: I tried using the just the other day for another project and it stopped working. Uninstalling and reinstalling the extension fixed it (to reset the defaults).
Original Answer:
I didn't want to restart Chrome and disable my web security (because I was browsing while developing) and stumbled onto this Chrome extension.
Basically it's a little toggle switch to toggle on and off the Allow-Access-Origin-Control check. Works perfectly for me for what I'm doing.
how I achieve and integrate with my extension as my extension needs to access cross domain. I cannot force user to open the browser wth disable-web-security
This extension won't work for local files, unfortunately. Stick to the --disable-web-security switch in that case.
@bryc It's not really meant to. Consider though that you can use --allow-file-access-from-files instead of disabling all web security.
“the extension no longer exists” can you delete your answer or at least put Edit 3 at the top in bold
Seems none of above solutions are actually working. The --disable-web-security is no longer supported in recent chrome versions.
Not sure why Chrome makes developers life so difficult. It blocks all the possible ways to disable XSS security check even for development use which is totally unnecessary.
[Updated on Jun 23, 2018] Recent I'm developing an SPA app which need to use corsproxy again. But seem none of the corsproxy on the github can meet my requirement.
Закройте хром (или хром) и перезапустите с аргументом --disable-web-security . Я только что проверил это и подтвердил, что могу получить доступ к содержимому iframe с помощью встроенной в страницу src = "http://google.com" страницы "localhost" (протестировано в chromium 5 / ubuntu). Для меня точная команда была:
Примечание. Убейте все экземпляры Chrome перед выполнением команды .
Браузер предупредит вас, что «вы используете неподдерживаемую командную строку» при первом ее открытии, что вы можете игнорировать.
Из источника хрома:
До Chrome 48 вы могли просто использовать:
ТОЛЬКО ДЛЯ ПОЛЬЗОВАТЕЛЯ MAC
Для пользователей Windows:
Проблема с решением, принятым здесь, на мой взгляд, заключается в том, что если у вас уже открыт Chrome и попытайтесь запустить его, он не будет работать.
По сути, запустив следующую команду (или создав с ней ярлык и открыв Chrome через него)
Вы можете открыть новый «небезопасный» экземпляр Chrome одновременно с тем, чтобы другие «защищенные» экземпляры браузера оставались открытыми и работали в обычном режиме. Важно : удалять / очищать папку C:/Chrome dev session каждый раз, когда вы открываете окно, так как второй раз --disable-web-security не будет работать. Поэтому вы не можете сохранить свои изменения и затем снова открыть их как второй небезопасный экземпляр Chrome с --disable-web-security .
Для Selenium Webdriver в этом случае можно запустить Chrome селен с соответствующими аргументами (или «переключателями»).
Вы можете использовать этот плагин chrome, который называется «Allow-Control-Allow-Origin: *» . Он очень прост и работает очень хорошо. проверьте это здесь: *
Вы можете просто использовать это расширение Chrome Allow-Control-Allow-Origin
Просто нажмите на значок расширения, чтобы включить или выключить кросс-ресурсный доступ, как вы хотите
Для Windows . создайте ярлык Chrome на рабочем столе.
Щелкните правой кнопкой мыши> Свойства> Ярлык
Изменить "целевой" путь:
(Измените «C: . \ chrome.exe» на то место, где находится ваш chrome).
В Windows 10 будет работать следующее.
Ага. Для OSX откройте терминал и запустите:
Для Linux запустите:
Также, если вы пытаетесь получить доступ к локальным файлам для целей разработки, таких как AJAX или JSON, вы также можете использовать этот флаг.
Для Windows перейдите в командную строку и перейдите в папку, где находится Chrome.exe, и введите
Это должно отключить ту же политику происхождения и разрешить доступ к локальным файлам.
Вы используете неподдерживаемый флаг командной строки: --disable-web-security. Стабильность и безопасность пострадают.
Используя текущую последнюю версию Chrome (80.0.3987.149 (Официальная сборка) (64-разрядная версия)), единственный способ заставить его работать в моем тесте - запустить Chrome с использованием следующих флагов (измените D: \ temp на ваше усмотрение). Это решение запустит Chrome в качестве песочницы для тестов и не повлияет на основной профиль Chrome:
--disable-site-изоляция-испытания --disable-web-security --user-data-dir = "D: \ temp"
В окнах нажмите кнопку Пуск, затем скопируйте и вставьте ниже:
Попробуйте перейти на эту страницу и отключить политику безопасности домена для домена вашего сайта.
Существует расширение Chrome, которое называется CORS Toggle.
После добавления переключите его в положение on , чтобы разрешить междоменные запросы.
Попробуйте эту команду на Mac-терминале
Он открывает еще один экземпляр Chrome с отключенной защитой, и больше нет проблем с CORS. Кроме того, вам больше не нужно закрывать другие экземпляры Chrome. Измените локальный URL-адрес на свой.
Для OSX выполните следующую команду из терминала:
Это запустит новый экземпляр Google Chrome с предупреждением сверху.
Это постоянно движущаяся цель . сегодня мне нужно было добавить еще один флаг, чтобы заставить его работать: --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-изоляция-испытания
Если вы используете Google Chrome в Linux, работает следующая команда.
Для пользователей Mac:
И до Chrome 48 вы могли просто использовать:
Кажется, ни одно из вышеперечисленных решений не работает. - disable-web-security больше не поддерживается в последних версиях Chrome.
Не уверен, почему Chrome делает жизнь разработчиков настолько сложной. Он блокирует все возможные способы отключения проверки безопасности XSS даже для использования в разработке, что совершенно не нужно.
[Обновлено 23 июня 2018 года] . Недавно я занимаюсь разработкой приложения SPA, в котором необходимо снова использовать corsproxy. Но, похоже, ни один из corsproxy на github не может удовлетворить мое требование.
Следуя ответу Олы Карлссона, действительно, лучшим способом было бы открыть небезопасный Chrome в другом сеансе. Таким образом, вам не нужно беспокоиться о закрытии всех открытых в данный момент вкладок, а также вы можете продолжать безопасно просматривать веб-страницы с помощью исходного сеанса Chrome.
Эти пакетные файлы должны работать только для вас в Windows.
Поместите его в файл Chrome_CORS.bat для удобства использования.
Это для Chrome Canary . Canary_CORS.bat
Не делайте этого! Вы открываете свой аккаунты для атак. После этого любой сторонний сайт может начать отправлять запросы на другие сайты, на которые вы вошли.
Вместо этого запустите локальный сервер. Это так же просто, как открыть оболочку / терминал / командную строку и набрать
Затем укажите ваш браузер на
Если вы обнаружили, что это слишком медленно, рассмотрите это решение
Люди, голосующие за этот ответ, должны зайти сюда и также понизить этот ответ, чтобы быть последовательными. Понятия не имею, почему мой ответ так недооценен, и тот же ответ в здесь является самым популярным.
Вы открываете себя для атак. Каждый сторонний скрипт, который вы включаете на своем сайте удаленно или локально, например, через npm, теперь может загружать ваши данные или украсть ваши учетные данные. Вы делаете то, что вам не нужно делать. Предлагаемое решение не сложно, занимает 30 секунд, не оставляет открытой атаки. Почему вы решили сделать себя уязвимым, когда лучший способ сделать это так просто?
Говорить людям об отключении безопасности - это все равно, что говорить друзьям, чтобы они оставляли входную дверь незапертой и / или ключ под ковриком. Конечно, шансы могут быть низкими, но если они будут ограблены, без доказательства принудительного въезда им может быть трудно собрать страховку. Аналогичным образом, если вы отключаете защиту , вы просто отключаете безопасность . Это безответственно делать, когда вы можете решить проблему так просто, без отключения безопасности. Я был бы удивлен, если бы вы не могли быть уволены в некоторых компаниях за отключение безопасности.
У меня проблема с флагом --disable-web-security . Он не работает в Chrome 48 и Chrome 49 beta в Windows.
Я пробовал убить все экземпляры, сначала перезагрузить и запустить Chrome с флагом, также пробовал разные машины. В бета-версии я вижу всплывающее окно с предупреждением («Вы используете неподдерживаемый флаг ..»), но CORS все еще применяется. Публичная версия, похоже, полностью игнорирует флаг.
Начиная с Chrome 81, необходимо обязательно передать и --disable-site-isolation-trials , и непустой путь профиля через --user-data-dir , чтобы --disable-web-security вступил в силу:
(Предположение) Вероятно, что Chrome требует непустой путь к профилю, чтобы снизить высокий риск безопасности при запуске браузера с отключенной веб-безопасностью в профиле по умолчанию. См. --user-data-dir= vs --user-data-dir=/some/path для получения дополнительных сведений ниже.
Спасибо @ Snæbjørn за совет Chrome 81 в комментариях.
Начиная с Chrome 80 (возможно, даже раньше), комбинация флагов --user-data-dir=/tmp/some-path --disable-web-security --disable-site-isolation-trials больше не отключает веб-безопасность .
Неясно, когда кодовая база Chromium регрессировала, но загрузка более старой сборки Chromium (следуя "Not- so-easy steps "на странице загрузки Chromium) - единственное решение, которое я нашел. В итоге я использовал версию 77.0.3865.0, которая правильно отключает веб-безопасность с этими флагами.
В Chrome 67+ необходимо передать флаг --disable-site-isolation-trials вместе с аргументами --user-data-dir= и --disable-web-security , чтобы полностью отключить веб-безопасность.
В MacOS полная команда выглядит так:
Читайте также: