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

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

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

26 ответов


закройте chrome (или chromium) и перезапустите с помощью


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

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

--user-data-dir требуется на Chrome 49+ на OSX

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

$ google-chrome --disable-web-security

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

-–allow-file-access-from-files

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

chrome.exe --disable-web-security

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

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

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

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


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

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

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

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

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

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


на 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


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

Интернет-Магазин Chrome Разрешить-Контроль-Разрешить-Происхождение: *
(https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en)

в основном это небольшой тумблер для включения и выключения проверки контроля доступа к источнику. Отлично работает для меня, для чего Я делаю.

EDIT: я попытался использовать только на днях для другого проекта, и он перестал работать. Удаление и переустановка расширения исправили его (чтобы сбросить значения по умолчанию).


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

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

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

et voilà:)


на windows пользователи Chrome Версии 60.0.3112.78. Вы не необходимо закрыть любой экземпляр chrome.

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

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


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

Разрешить-управление-разрешить-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] недавно я разрабатываю СПА-приложение, которое нужно снова использовать corsproxy. Но, похоже, ни один из corsproxy на github не может удовлетворить мое требование.

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

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

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

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


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

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 localhost на свой.


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

Chrome extenstion


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

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

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

google-chrome  --disable-web-security


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

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

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


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

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

после ответа Ola Karlsson, действительно, лучшим способом было бы открыть небезопасный 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 Канарейка!--12-->. Canary_CORS.летучая мышь!--8-->

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

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

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

существует расширение Chrome под названием CORS Toggle.

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

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


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

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

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

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

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

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

cd path/to/files
python -m SimpleHTTPServer

потом, указывая Ваш браузер на

http://localhost:8000

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


Для Windows:

(через windows 8.1, chrome 44.0)

во-первых, закройте google 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.


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


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

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

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

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

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

надеюсь, что это помогает!