Ответ 1

Закройте chrome (или chromium) и перезапустите с помощью аргумента --disable-web-security. Я просто проверил это и подтвердил, что я могу получить доступ к содержимому iframe с помощью src= "http://google.com", встроенного в страницу, обслуживаемую с "localhost" (протестирован под хром 5/ubuntu). Для меня была точная команда:

Примечание. Убейте все экземпляры chrome перед запуском команды.

chromium-browser --disable-web-security --user-data-dir="[some directory here]"

Браузер предупреждает вас о том, что "вы используете неподдерживаемую командную строку" при первом открытии, который вы можете игнорировать.

Из источника хрома:

// Don't enforce the same-origin policy. (Used by people testing their sites.)
const wchar_t kDisableWebSecurity[] = L"disable-web-security";

Перед Chrome 48 вы можете просто использовать:

chromium-browser --disable-web-security

Ответ 2

Угу. Для OSX откройте терминал и запустите:

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

- данные пользователя-dir, необходимые для Chrome 49+ в OSX

Для запуска Linux:

$ google-chrome --disable-web-security

Также, если вы пытаетесь получить доступ к локальным файлам для таких целей, как AJAX или JSON, вы также можете использовать этот флаг.

-–allow-file-access-from-files

Для Windows войдите в командную строку и перейдите в папку, где есть Chrome.exe, и введите

chrome.exe --disable-web-security

Это должно отключить одну и ту же политику происхождения и разрешить вам доступ к локальным файлам.

Обновление: Для Chrome 22+ вам будет представлено сообщение об ошибке:

Вы используете неподдерживаемый флаг командной строки: --disable-web-security. Стабильность и безопасность будут страдать.

Однако вы можете просто игнорировать это сообщение при разработке.

Ответ 3

Для пользователей Windows:

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

Однако, исследуя это, я наткнулся на сообщение о супер-пользователе, возможно ли запускать Chrome одновременно и без веб-безопасности? ,

По сути, запустив следующую команду (или создав с ней ярлык и открыв Chrome через него)

chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security

Вы можете открыть новый "небезопасный" экземпляр Chrome одновременно с тем, чтобы другие "защищенные" экземпляры браузера оставались открытыми и работали в обычном режиме. Важно: удаляйте /C: /Chrome dev session папку C: /Chrome dev session каждый раз, когда вы открываете окно во второй раз, --disable-web-security не будет работать. Таким образом, вы не можете сохранить свои изменения и затем снова открыть их как второй небезопасный экземпляр Chrome с --disable-web-security.

Ответ 4

Для Windows:

  • Откройте меню "Пуск"
  • Введите windows + R или откройте "Выполнить"
  • Выполните следующую команду:

    chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security
    

Для Mac:

  • Перейдите в терминал
  • Выполните следующую команду:

    open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security
    

Новый браузер с хроматическим отключением веб-безопасности должен открыть следующее сообщение:

введите описание изображения здесь

Ответ 5

Я не хотел перезапускать Chrome и отключать свою веб-безопасность (потому что я просматривал во время разработки) и наткнулся на это расширение Chrome.

Интернет-магазин Chrome Allow-Control-Allow-Origin: *
(https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en)

В основном это небольшой тумблер для включения и выключения проверки Allow-Access-Origin-Control. Отлично работает для меня за то, что я делаю.

ОБНОВЛЕНИЕ: Я пытался использовать только на днях для другого проекта, и он перестал работать. Удаление и переустановка расширения исправили его (для сброса настроек по умолчанию).

ОБНОВЛЕНИЕ 2: я больше не могу заставить это работать последовательно

Ответ 6

Для пользователей Windows с версиями Chrome 60.0.3112.78 (день, когда решение было протестировано и работало) и, по крайней мере, до сегодняшнего дня 19.01.2019 (версия 71.0.3578.98). Вам не нужно закрывать любой экземпляр Chrome.

  1. Создать ярлык на рабочем столе
  2. Нажмите правой кнопкой мыши на ярлык и выберите Свойства
  3. Изменить свойство Target
  4. Установите для него "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir = "C: /ChromeDevSession"
  5. Запустите Chrome и проигнорируйте сообщение о том, что --disable-web-security не поддерживается!

ВНИМАНИЕ! НЕ ИСПОЛЬЗУЙТЕ ЭТОТ ОСОБЫЙ ИНСТРУМЕНТ БРАУЗЕРА ДЛЯ ПРОСМОТРА, ПОТОМУ ЧТО ВЫ МОЖЕТЕ ПОЛУЧИТЬ ЕГО!

Ответ 7

Кажется, ни одно из вышеперечисленных решений на самом деле не работает. --Disable-web-security больше не поддерживается в последних версиях Chrome.

Allow-Control-Allow-Origin: * - расширение chrome частично решило проблему. Это работает только в том случае, если ваш запрос использует метод GET и нет пользовательского заголовка HTTP. В противном случае chrome отправит HTTP-запрос OPTIONS в качестве запроса перед полетом. Если сервер не поддерживает CORS, он ответит кодом состояния 404 HTTP. Плагин не может изменить HTTP-код ответа. Таким образом, Chrome отклонит этот запрос. Плагин Chrome не может изменить HTTP-код ответа на основе текущего API расширения Chrome. И вы не можете также выполнить перенаправление для запроса, инициированного XHR.

Не уверен, почему Chrome делает жизнь разработчиков настолько сложной. Он блокирует все возможные способы отключить проверку безопасности XSS даже для использования в разработке, что совершенно не нужно.

После нескольких дней борьбы и исследований, одно решение отлично работает для меня: использовать corsproxy. У вас есть два варианта: 1. использовать [ https://cors-anywhere.herokuapp.com/] 2. установить corsproxy в локальном окне: npm install -g corsproxy

[Обновлено 23 июня 2018 г.] Недавно я занимаюсь разработкой приложения SPA, в котором нужно снова использовать corsproxy. Но, похоже, ни один из corsproxy на github не может удовлетворить мое требование.

  • нужно для запуска внутри брандмауэра по соображениям безопасности. Поэтому я не могу использовать https://cors-anywhere.herokuapp.com/.
  • Он должен поддерживать https, поскольку chrome блокирует ajax-запрос no-https на странице https.
  • Мне нужно работать на nodejs. Я не хочу поддерживать другой языковой стек.

Поэтому я решил разработать свою собственную версию corsproxy с помощью nodejs. Это на самом деле очень просто. Я опубликовал это как GIST на GitHub. Вот суть исходного кода: https://gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10

  • Это в простом коде nodejs без каких-либо дополнительных зависимостей
  • Вы можете работать в режимах http и https (передавая номер порта https в командной строке), чтобы запустить https, вам нужно сгенерировать сертификат и ключ и поместить их в каталог webroot.
  • Он также служит статическим файловым сервером.
  • Он также поддерживает запрос перед полетом.

Чтобы запустить сервер CORSProxy (http-порт 8080): узел static_server.js 8080

для доступа к прокси: http://host: 8080/http://www.somesite.com

Ответ 8

Для Windows... создайте ярлык Chrome на рабочем столе. Щелкните правой кнопкой мыши > свойствa > Ярлык
Изменить "целевой" путь:

"C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security

(Измените "C:....\chrome.exe" там, где когда-либо находился ваш хром).

et voilà:)

Ответ 9

Попробуйте эту команду на Mac terminal-

open -n -a "Google Chrome" --args --user-data-dir=/tmp/temp_chrome_user_data_dir http://localhost:8100/ --disable-web-security 

Он открывает еще один экземпляр хрома с отключенной безопасностью и больше нет проблемы с CORS. Кроме того, вам больше не нужно закрывать другие экземпляры chrome. Измените URL-адрес локального хоста на свой.

Ответ 10

Я считаю, что лучший способ сделать это - дублировать ярлык Chrome или Chrome Canary на рабочем столе Windows. Переименуйте этот ярлык в "NO CORS", затем отредактируйте свойства этого ярлыка.

в целевой добавить --disable-web-security --user-data-dir="D:/Chrome" в конец целевого пути.

ваша цель должна выглядеть примерно так:

Обновление: Добавлены новые флаги.

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

введите описание изображения здесь

Ответ 11

Вы можете использовать этот chrome-плагин под названием "Allow-Control-Allow-Origin: *"... Это делает его простым и работает очень хорошо. проверьте здесь: *

Chrome extenstion

Ответ 12

Для Selenium Webdriver вы можете запустить селен в Chrome с соответствующими аргументами (или "переключателями" ) в этом случае.

 @driver = Selenium::WebDriver.for(:Chrome, { 
       :detach => false,
       :switches => ["--disable-web-security"]
    })

Ответ 13

используя текущую последнюю версию Chrome (76.0.3809.132 (Официальная сборка) (64-разрядная версия)), единственный способ заставить его работать в моем тесте - запустить Chrome с использованием следующих флагов (измените D:\temp по вкусу):

--disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"

в окнах нажмите кнопку "Пуск", затем скопируйте и вставьте следующее:

chrome.exe  --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"

Ответ 14

Не делайте этого! Выоткрываете свои аккаунты для атак. После этого любой сторонний сайт может начать отправлять запросы на другие сайты, на которые вы вошли.

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

cd path/to/files
python -m SimpleHTTPServer

Затем укажите свой браузер на

http://localhost:8000

Если вам кажется, что это слишком медленно , подумайте над этим решением

Обновление

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

Вы are открываете себя для атак. Каждый сторонний скрипт, который вы добавляете на свой сайт удаленно или локально, например, через npm, теперь может загружать ваши данные или украсть ваши учетные данные. Вы делаете то, что вам не нужно делать. Предлагаемое решение не сложно, занимает 30 секунд, не оставляет открытой атаки. Почему вы решили сделать себя уязвимым, если лучше сделать это так просто?

Говорить людям об отключении безопасности - это все равно, что говорить друзьям, чтобы они оставляли входную дверь незапертой и/или ключ под ковриком. Конечно, шансы могут быть низкими, но если они действительно будут ограблены, без доказательства принудительного въезда им может быть трудно собрать страховку. Аналогичным образом, если вы отключаете защиту, вы просто отключаете защиту. Это безответственно делать, когда вы можете решить проблему так просто, без отключения безопасности. Я был бы удивлен, если бы вы не могли быть уволены в некоторых компаниях за отключение безопасности.

Ответ 15

Если вы используете Google Chrome в Linux, следующая команда работает.

google-chrome  --disable-web-security

Ответ 17

chromium-browser --disable-web-security --user-data-dir=~/ChromeUserData/

Ответ 18

ТОЛЬКО ДЛЯ ПОЛЬЗОВАТЕЛЯ MAC

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

Ответ 19

Вы можете просто использовать это расширение chrome Allow-Control-Allow-Origin

просто нажмите на значок расширения, чтобы включить или отключить совместное использование ресурсов, как вы хотите

Ответ 20

В Windows 10 будет работать следующее.

<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt

Ответ 21

Следуя за ответом Ола Карлссон, действительно лучшим способом было бы открыть небезопасный Chrome на другой сессии. Таким образом, вам не нужно беспокоиться о закрытии всех открываемых в данный момент вкладок, а также может продолжать безопасно просматривать веб-страницы с помощью оригинальной сессии Chrome.

Эти командные файлы должны работать только для вас в Windows.

Поместите его в файл Chrome_CORS.bat для удобства использования

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

Это для Chrome Canary. Canary_CORS.bat

start "" "c:\Users\%USERNAME%\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --user-data-dir="c:/_canary_dev" --disable-web-security

Ответ 22

В Linux- Ubuntu, чтобы запустить одновременно обычный сеанс и небезопасный сеанс, выполните следующую команду:

google-chrome  --user-data-dir=/tmp --disable-web-security

Ответ 23

для пользователей Mac:

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

и до Chrome 48 вы можете просто использовать:

open -a "Google Chrome" --args --disable-web-security

Ответ 25

это постоянно движущаяся цель.... сегодня мне нужно было добавить еще один флаг, чтобы заставить его работать: --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

Ответ 26

Для Windows:

(используя окна 8.1, chrome 44.0)

Сначала закройте Google Chrome.

Затем откройте командную строку и перейдите в папку, где находится "chrome.exe".

( for me: 'chrome.exe' is here "C:\Program Files (x86)\Google\Chrome\Application".

Итак, я печатаю:    cd C:\Program Files (x86)\Google\Chrome\Application)

теперь введите: chrome.exe --disable-web-security

откроется новое окно хром.

Ответ 27

Попробуйте перейти на эту страницу и отключить политику безопасности домена для домена вашего сайта.

chrome://net-internals/#hsts

Ответ 28

На ПК с Windows используйте устаревшую версию Chrome, и команда будет работать для всех вас, ребята. Я понизил версию Chrome до версии 26 и работал.

Ответ 29

Я иногда использую это для публикации локального сайта localhost в локальном интерфейсе API (например, React to old.NET API). Я создал отдельный ярлык на рабочем столе Windows 10, так что он никогда не используется для обычного просмотра, только для отладки локально. Я сделал следующее: -

  • Щелкните правой кнопкой мыши на рабочем столе, добавьте новый ярлык
  • Добавить цель как "[PATH_TO_CHROME]\chrome.exe" --disable-web-security
  • Нажмите "ОК".

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

Надеюсь, это поможет!

Ответ 30

Плагин Allow-Control-Allow-Origin для Chrome не работает. Это для MacOS

Я добавил alias chrome='open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --user-data-dir --disable-web-security' в свой .profile как псевдоним.

Другие команды отключат мои другие расширения, и это загрузит ваш обычный chrome с отключенными cors