it-swarm-ru.tech

Отключить ту же политику происхождения в Chrome

Есть ли способ отключить политику того же происхождения в Google Chrome браузер?

Это строго для развития, а не для производственного использования.

1242
Landon Kuhn

Закройте chrome (или chromium) и перезапустите с аргументом --disable-web-security. Я только что проверил это и подтвердил, что могу получить доступ к содержимому iframe с помощью встроенной в страницу src = "http://google.com" страницы "localhost" (протестировано в chromium 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
864
Dagg Nabbit

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

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

В Chrome 49+ для OSX требуется --user-data-dir

Для Linux запустите:

$ google-chrome --disable-web-security

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

-–allow-file-access-from-files

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

chrome.exe --disable-web-security

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

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

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

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

981
ectype

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

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

Однако, исследуя это, я наткнулся на сообщение о суперпользователе: ВОЗМОЖНО ЛИ ЗАПУСКАТЬ CHROME ОДНОВРЕМЕННО И БЕЗ ВЕБ-БЕЗОПАСНОСТИ?.

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

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

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

431
Ola Karlsson

Для Windows :

  1. Откройте меню "Пуск"
  2. Тип windows+R или откройте "Run"
  3. Выполните следующую команду:

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

Для Mac :

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

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

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

enter image description here

113
GSB

Я не хотел перезапускать 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: я больше не могу заставить это работать последовательно

71
Coburn

Для 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 не поддерживается!

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

49
Ognyan Dimitrov

Кажется, что ни одно из вышеприведенных решений не работает. --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. используйте corsproxy.com 2. установить corsproxy в локальном окне: npm установить -g corsproxy

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

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

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

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

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

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

(Измените «C: ....\chrome.exe» на то место, где находится ваш chrome).

и вуаля :) 

41
molokoloco

Я считаю, что лучший способ сделать это - скопировать ярлык 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"

 enter image description here

34
etoxin

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

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

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

29
Vivek Sinha

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

 Chrome extenstion

19
Mohamed Saleh

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

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

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

google-chrome  --disable-web-security
13
chhantyal

Этот плагин Chrome работает для меня: Allow-Control-Allow-Origin: * - Интернет-магазин Chrome

12
Bruce
chromium-browser --disable-web-security --user-data-dir=~/ChromeUserData/
9
MechaCode

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

<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-Origin-auth-Prompt
8
ItsAllABadJoke

ТОЛЬКО ДЛЯ MAC USER  

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

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

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

8
Peter Wilson

Следуя ответу Олы Карлссона, действительно, лучшим способом было бы открыть небезопасный 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
7
guya

Существует расширение Chrome, которое называется CORS Toggle.

Нажмите здесь, чтобы получить доступ к нему и добавить его в Chrome .

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

6
Mowzer

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

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

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

open -a "Google Chrome" --args --disable-web-security
5
Braian Mellor

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

--disable-site-изоляция-испытания --disable-web-security --user-data-dir = "D:\temp"

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

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

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

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

cd path/to/files
python -m SimpleHTTPServer

Затем укажите ваш браузер на

http://localhost:8000

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

3
gman

Для Windows:

(используя 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

откроется новое окно Chrome.

3
Fuad Ahmad

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

google-chrome  --user-data-dir=/tmp --disable-web-security
2
Santiago M. Quintero

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

2
denodster

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

1
user1578524

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

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

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

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

0
Mike Upjohn

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

chrome://net-internals/#hsts
0
Rahul Malu