Есть ли способ отключить политику того же происхождения в браузере Google Chrome ?
javascript
ajax
google-chrome
Лэндон Кун
источник
источник
peter.sh
страницу, поэтому должно быть вполне законно.--disable-web-security --user-data-dir
Ответы:
Закройте хром (или хром) и перезапустите с
--disable-web-security
аргументом. Я только что проверил это и подтвердил, что могу получить доступ к содержимому iframe с помощью встроенной в страницу src = "http://google.com" страницы "localhost" (протестировано в chromium 5 / ubuntu). Для меня точная команда была:Примечание. Убейте все экземпляры Chrome перед запуском команды.
Браузер предупредит вас, что «вы используете неподдерживаемую командную строку» при первом ее открытии, что вы можете игнорировать.
Из источника хрома:
До Chrome 48 вы могли просто использовать:
источник
open /Applications/Google\ Chrome.app --args --disable-web-security
--user-data-dir
.Ага. Для OSX откройте терминал и запустите:
- Требуется -user-data-dir на Chrome 49+ на OSX
Для Linux запустите:
Также, если вы пытаетесь получить доступ к локальным файлам для целей разработки, таких как AJAX или JSON, вы также можете использовать этот флаг.
Для Windows перейдите в командную строку и перейдите в папку, где находится Chrome.exe, и введите
Это должно отключить ту же политику происхождения и разрешить доступ к локальным файлам.
Обновление: для Chrome 22+ вам будет выдано сообщение об ошибке:
Однако вы можете просто игнорировать это сообщение при разработке.
источник
--disable-web-security
не работает, если вы также явно не дадите--user-data-dir
. то есть OSX/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --user-data-dir=~/ChromeUserData/
.open -n
. Просто бегиopen -n -a Google\ Chrome --args --disable-web-security --user-data-dir=/tmp/chrome
. Откроется второй экземпляр приложения Chrome на вашем Mac, и вы сможете использовать их бок о бок.Для пользователей Windows:
Проблема с решением, принятым здесь, на мой взгляд, заключается в том, что если у вас уже открыт Chrome и попытайтесь запустить его, он не будет работать.
Однако, исследуя это, я наткнулся на сообщение о супер-пользователе, возможно ли запускать Chrome одновременно и без веб-безопасности? ,
По сути, запустив следующую команду (или создав с ней ярлык и открыв Chrome через него)
Вы можете открыть новый «небезопасный» экземпляр Chrome одновременно с тем, чтобы другие «защищенные» экземпляры браузера оставались открытыми и работали в обычном режиме. Важно : удаляйте / очищайте
C:/Chrome dev session
папку каждый раз, когда вы открываете окно, так как второй раз--disable-web-security
не будет работать. Таким образом, вы не можете сохранить свои изменения, а затем снова открыть их как второй небезопасный экземпляр Chrome с помощью--disable-web-security
.источник
"C:\..\chrome.exe" --disable-web-security --user-agent="Android" --user-data-dir="C:/temp-chrome-eng" --app="file:///C:/apps/index.html"
open -a Google\ Chrome --args --disable-web-security -–allow-file-access-from-files --user-data-dir="/Users/myuser/temp/chromeData"
, это просто заставило существующее окно Chrome получить фокус, больше ничего?open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/chrome_dev_session" --disable-web-security
(Возможно, вам сначала потребуется создать временную папку)Для Windows :
Выполните следующую команду:
Для Mac :
Выполните следующую команду:
Новый браузер Chrome с отключенной веб-безопасностью должен открыться со следующим сообщением:
источник
Run
.Для пользователей Windows с версиями Chrome 60.0.3112.78 (день, когда решение было протестировано и работало) и, по крайней мере, до сегодняшнего дня 19.01.2019 (версия 71.0.3578.98) . Вам не нужно закрывать любой экземпляр Chrome.
ВНИМАНИЕ! НЕ ИСПОЛЬЗУЙТЕ ЭТОТ ОСОБЫЙ ИНСТРУМЕНТ БРАУЗЕРА ДЛЯ ПРОСМОТРА, ПОТОМУ ЧТО ВЫ МОЖЕТЕ ПОЛУЧИТЬ ЕГО!
источник
РЕДАКТИРОВАТЬ 3: Кажется, что расширение больше не существует ... Обычно, чтобы обойти CORS в эти дни, я установил другую версию Chrome с отдельным каталогом, или я использую Firefox с https://addons.mozilla.org/en-US/ Firefox / Аддон / Корс-везде / вместо.
РЕДАКТИРОВАТЬ 2: я больше не могу заставить это работать последовательно.
РЕДАКТИРОВАТЬ: Я пытался использовать только на днях для другого проекта, и он перестал работать. Деинсталляция и переустановка расширения исправили его (для сброса настроек по умолчанию).
Оригинальный ответ:
Я не хотел перезапускать Chrome и отключать мою веб-безопасность (потому что я просматривал во время разработки) и наткнулся на это расширение Chrome.
Интернет-магазин Chrome Allow-Control-Allow-Origin: *
(https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en)
По сути, это небольшой тумблер для включения и выключения проверки Allow-Access-Origin-Control. У меня отлично работает то, что я делаю.
источник
--disable-web-security
переключателя в этом случае.--allow-file-access-from-files
вместо отключения всей веб-безопасности.Кажется, ни одно из вышеперечисленных решений на самом деле не работает. Не повреждает-веб-безопасность больше не поддерживается в последних версиях хрома.
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 не может удовлетворить мое требование.
Поэтому я решил разработать свою собственную версию corsproxy с помощью nodejs. Это на самом деле очень просто. Я опубликовал это как GIST на GitHub. Вот суть исходного кода: https://gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10
Чтобы запустить сервер CORSProxy (http-порт 8080): узел static_server.js 8080
для доступа к прокси: http: // host: 8080 / http: //www.somesite.com
источник
Для Windows ... создайте ярлык Chrome на рабочем столе.
Щелкните правой кнопкой мыши> свойства> Ярлык
Изменить путь к цели:
(Измените «C: .... \ chrome.exe» на то место, где находится ваш chrome).
и вуаля :)
источник
Попробуйте эту команду на Mac-терминале
Он открывает еще один экземпляр Chrome с отключенной защитой, и больше нет проблем с CORS. Кроме того, вам больше не нужно закрывать другие экземпляры Chrome. Измените локальный URL-адрес на свой.
источник
Я считаю, что лучший способ сделать это - скопировать ярлык Chrome или Chrome Canary на рабочий стол Windows. Переименуйте этот ярлык в «NO CORS», затем отредактируйте свойства этого ярлыка.
в целевой добавить
--disable-web-security --user-data-dir="D:/Chrome"
в конец целевого пути.Ваша цель должна выглядеть примерно так:
Обновление: добавлены новые флаги.
источник
используя текущую последнюю версию Chrome (83.0.4103.61 (Официальная сборка) (64-разрядная версия)), единственный способ заставить его работать в моем тесте - запустить Chrome с использованием следующих флагов (измените D: \ temp по своему вкусу) , Это решение запустит Chrome как песочницу для тестов и не повлияет на основной профиль Chrome:
в окнах нажмите кнопку «Пуск», затем скопируйте и вставьте ниже:
источник
chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
наrun
окнах на окнах 10. Большое спасибо.Вы можете использовать этот плагин chrome под названием «Allow-Control-Allow-Origin: *» ... Он очень прост и работает очень хорошо. проверьте это здесь: *
источник
Для Selenium Webdriver в этом случае вы можете запустить Chrome селен с соответствующими аргументами (или «переключателями»).
источник
Если вы используете Google Chrome в Linux, работает следующая команда.
источник
Этот плагин Chrome работает для меня: Allow-Control-Allow-Origin: * - Интернет-магазин Chrome
источник
Не делай этого! Вы открываете свои счета для атак . После этого любой сторонний сайт может начать отправлять запросы на другие сайты, на которые вы вошли.
Вместо этого запустите локальный сервер. Это так же просто, как открыть оболочку / терминал / командную строку и набрать
Затем укажите ваш браузер на
Если вы обнаружите, что это слишком медленно, рассмотрите это решение
Обновить
Люди, голосующие против этого ответа, должны пойти сюда и понизить этот ответ, чтобы быть последовательным. Понятия не имею, почему мой ответ так недооценен, и тот же самый ответ здесь - самый популярный.
Вы будете открывать себя для атак. Каждый сторонний скрипт, который вы добавляете на свой сайт удаленно или локально, например, через npm, теперь может загружать ваши данные или украсть ваши учетные данные. Вы делаете то, что вам не нужно делать. Предлагаемое решение не сложно, занимает 30 секунд, не оставляет открытой атаки. Почему вы решили сделать себя уязвимым, если лучше сделать это так просто?
Говорить людям об отключении безопасности - это все равно, что говорить друзьям, чтобы они оставляли входную дверь незапертой и / или ключ под ковриком. Конечно, шансы могут быть низкими, но если они действительно будут ограблены, без доказательства принудительного въезда им может быть трудно собрать страховку. Точно так же, если вы отключаете безопасность, вы делаете это отключение безопасности . Это безответственно делать, когда вы можете решить проблему так просто, без отключения безопасности. Я был бы удивлен, если бы вы не могли быть уволены в некоторых компаниях за отключение безопасности.
источник
Вы можете просто использовать это расширение Chrome Allow-Control-Allow-Origin
просто нажмите на значок extensnion, чтобы включить или выключить кросс-ресурсный доступ, как вы хотите
источник
ТОЛЬКО ДЛЯ MAC USER
источник
источник
В Windows 10 будет работать следующее.
источник
После ответа Олы Карлссона, действительно, лучшим способом было бы открыть небезопасный Chrome в другой сессии. Таким образом, вам не нужно беспокоиться о закрытии всех открытых на данный момент вкладок, а также вы можете продолжать безопасно просматривать веб-страницы с помощью исходного сеанса Chrome.
Эти командные файлы должны работать только на вас в Windows.
Поместите его в файл Chrome_CORS.bat для удобства использования
Это для Chrome Canary . Canary_CORS.bat
источник
В Linux-Ubuntu, чтобы запустить одновременно обычный сеанс и небезопасный сеанс, выполните следующую команду:
источник
для пользователей Mac:
и до Chrome 48 вы могли просто использовать:
источник
Существует расширение Chrome, которое называется CORS Toggle.
Нажмите здесь, чтобы получить доступ к нему и добавить его в Chrome .
После добавления переключите его во включенное положение, чтобы разрешить междоменные запросы.
источник
Для 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-isolation-trials
источник
Для Windows:
(используя Windows 8.1, Chrome 44.0 )
Сначала закройте Google Chrome.
Затем откройте командную строку и перейдите в папку, где находится «chrome.exe».
Так типа I:
cd C:\Program Files (x86)\Google\Chrome\Application
)сейчас наберите:
chrome.exe --disable-web-security
Откроется новое окно Chrome.
источник
Используемая ниже команда в Ubuntu для запуска Chrome (отключите ту же политику происхождения и откройте Chrome в отдельном режиме):
источник
В Windows:
1) Создайте новый ярлык:
2) Вставьте следующий путь:
3) На следующей странице введите:
Теперь у вас на рабочем столе небезопасный хром, который можно использовать для отладки приложений CORS. Надеюсь, что этот графический ответ поможет некоторым людям!
источник
Попробуйте перейти на эту страницу и отключить политику безопасности домена для домена вашего сайта.
источник
Input a domain name to delete its dynamic domain security policies (HSTS and Expect-CT). (You cannot delete preloaded entries.):
.