Содержание статьи

CORS (Cross-Origin Resource Sharing) ограничивает запросы с одного домена к ресурсам другого. В Chrome это встроено в механизм безопасности браузера, что может мешать разработке локальных веб-приложений или тестированию API.
Для временного обхода ограничения можно запускать Chrome с флагом —disable-web-security. Этот метод снимает проверку заголовков Access-Control-Allow-Origin и позволяет отправлять запросы между доменами без блокировки.
Другой способ – использование расширений, которые изменяют заголовки запросов или создают исключения для определённых сайтов. Это удобно для быстрого тестирования без изменения глобальных настроек браузера.
Если требуется более точечный контроль, можно настроить локальный прокси, который будет перенаправлять запросы и добавлять необходимые заголовки CORS. Такой подход безопаснее при работе с внешними API и позволяет тестировать реальные сценарии взаимодействия между серверами.
В статье собраны практические методы отключения CORS в Chrome, включая запуск браузера с параметрами, расширения и настройку прокси, а также инструкции по проверке работы и возврату стандартных настроек безопасности.
Запуск Chrome с флагом —disable-web-security
Для отключения CORS в Chrome можно использовать параметр —disable-web-security, который снимает ограничения на кросс-доменные запросы. Это позволяет браузеру отправлять HTTP-запросы к любым доменам без блокировки.
На Windows необходимо закрыть все запущенные окна Chrome, открыть командную строку и выполнить команду: chrome.exe —disable-web-security —user-data-dir=»C:/ChromeDev». Параметр —user-data-dir создаёт отдельный профиль, чтобы сохранить стандартные настройки браузера.
На macOS запускают терминал и вводят: /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome —disable-web-security —user-data-dir=»/tmp/ChromeDev». На Linux используется аналогичная команда с указанием пути к исполняемому файлу Chrome и отдельной папки профиля.
Важно запускать браузер с этим флагом только для разработки и тестирования. Доступ к сторонним сайтам без проверки CORS повышает риск утечки данных и делает браузер уязвимым для вредоносного кода.
После завершения работы с тестируемым приложением следует закрыть Chrome и запустить его обычным образом, чтобы вернуть стандартные меры безопасности.
Создание отдельного ярлыка для отключения CORS

Чтобы запускать Chrome с отключённой проверкой CORS без изменения основных настроек браузера, можно создать отдельный ярлык с параметрами запуска.
- На Windows: кликните правой кнопкой на рабочем столе и выберите Создать → Ярлык. В поле «Укажите расположение объекта» вставьте путь к Chrome с флагами:
«C:\Program Files\Google\Chrome\Application\chrome.exe» —disable-web-security —user-data-dir=»C:/ChromeDev»
- На macOS: откройте Automator и создайте приложение с командой:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome —disable-web-security —user-data-dir=»/tmp/ChromeDev»
- На Linux: создайте новый файл ярлыка или скрипт с командой запуска Chrome с указанными флагами и отдельной папкой профиля.
Использование отдельного ярлыка гарантирует, что основной профиль Chrome остаётся с активными настройками безопасности, а тестовый профиль с отключённым CORS используется только для разработки.
- Путь —user-data-dir должен быть уникальным для отдельного профиля.
- Закрывайте все окна основного Chrome перед запуском ярлыка.
- После завершения тестирования открывайте Chrome обычным способом, чтобы вернуть защиту CORS.
Использование расширений для управления CORS
Расширения Chrome позволяют временно изменять поведение CORS без запуска браузера с ослабленными настройками безопасности. Они подходят для тестирования API и локальных приложений.
Популярные расширения предоставляют интерфейс для включения или отключения заголовков Access-Control-Allow-Origin и Access-Control-Allow-Methods. Среди них CORS Unblock и Moesif Origin & CORS Changer.
После установки расширения необходимо:
- Активировать его для конкретного сайта или вкладки.
- Выбрать метод модификации заголовков: разрешить все источники или указать конкретный домен.
- Перезапустить вкладку с API-запросами, чтобы новые правила вступили в силу.
Расширения работают только в рамках открытых вкладок, поэтому они не влияют на глобальные настройки Chrome. После завершения тестирования их можно временно отключить или удалить.
Отключение CORS только для конкретного сайта
Иногда требуется снять ограничение CORS не для всех ресурсов, а только для определённого сайта. Это позволяет безопасно тестировать API без глобального отключения проверки.
Два основных способа:
| Метод | Описание | Пример настройки |
|---|---|---|
| Локальный прокси | Настройка прокси-сервера, который перехватывает запросы к целевому сайту и добавляет заголовки CORS. | Запуск http-proxy-middleware с указанием target: ‘https://api.example.com’ и changeOrigin: true. |
| Расширение Chrome | Использование расширения для включения CORS только для выбранного домена. | В Moesif CORS Changer добавить домен example.com и включить разрешение кросс-доменных запросов. |
После настройки проверяйте заголовки запроса через вкладку Network в DevTools, чтобы убедиться, что CORS снят только для указанного сайта и остальные ресурсы остаются защищёнными.
Настройка локального прокси для обхода CORS
Локальный прокси позволяет перехватывать запросы браузера и добавлять необходимые заголовки CORS. Это решение безопаснее, чем отключение проверки в самом Chrome, и подходит для тестирования API.
Для настройки прокси можно использовать Node.js и пакет http-proxy-middleware:
- Установите пакет командой: npm install http-proxy-middleware express.
- Создайте файл server.js с содержимым:
const express = require('express'); const { createProxyMiddleware } = require('http-proxy-middleware'); const app = express(); app.use('/api', createProxyMiddleware({ target: 'https://target-site.com', changeOrigin: true, onProxyRes: function(proxyRes) { proxyRes.headers['Access-Control-Allow-Origin'] = '*'; } })); app.listen(3000); - Запустите сервер: node server.js.
После запуска все запросы к http://localhost:3000/api будут перенаправляться на целевой сайт с добавленным заголовком Access-Control-Allow-Origin: *. Это позволяет тестировать кросс-доменные запросы без глобального отключения CORS в Chrome.
Запуск Chrome в режиме инкогнито с отключением CORS

Режим инкогнито позволяет использовать отдельный сеанс браузера с отключёнными кросс-доменными ограничениями без влияния на основной профиль Chrome. Это удобно для тестирования API или локальных веб-приложений.
На Windows закройте все окна Chrome, затем откройте командную строку и выполните команду:
chrome.exe —incognito —disable-web-security —user-data-dir=»C:/ChromeIncognito». Параметр —user-data-dir создаёт отдельную папку для временного профиля.
На macOS используйте терминал с командой:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome —incognito —disable-web-security —user-data-dir=»/tmp/ChromeIncognito».
На Linux команда аналогична, указывая путь к исполняемому файлу Chrome и отдельную папку профиля. Все вкладки, открытые в инкогнито с этими параметрами, смогут отправлять кросс-доменные запросы без блокировки.
После завершения тестирования закройте сеанс инкогнито. Основной профиль Chrome останется с активной защитой CORS.
Проверка работы CORS после отключения
После отключения CORS важно убедиться, что браузер больше не блокирует кросс-доменные запросы и API корректно обрабатываются.
- Откройте Chrome DevTools (F12) и перейдите на вкладку Network.
- Отправьте запрос к целевому API или ресурсу с другого домена.
- Проверьте заголовки ответа:
- Отсутствие ошибок типа Access-Control-Allow-Origin.
- HTTP-статус 200 или ожидаемый код ответа.
- Если используется прокси или расширение, убедитесь, что заголовок Access-Control-Allow-Origin: * присутствует.
- Для тестирования нескольких доменов можно выполнить запросы с разных вкладок и проверить, что ограничения не применяются.
После проверки рекомендуется закрыть браузер или вкладки с отключённым CORS, чтобы вернуть стандартную защиту и избежать потенциальных рисков безопасности.
Возврат к стандартным настройкам безопасности Chrome

После работы с отключённым CORS необходимо восстановить обычные настройки браузера, чтобы вернуть защиту кросс-доменных запросов и минимизировать риски безопасности.
Если Chrome запускался с флагом —disable-web-security и отдельной папкой профиля, достаточно закрыть все окна этого сеанса. Основной профиль браузера остаётся с активными настройками безопасности.
Для дополнительной проверки:
- Откройте обычный сеанс Chrome без флагов.
- Перейдите на сайт, к которому ранее делались кросс-доменные запросы.
- В DevTools на вкладке Network проверьте заголовки ответов: браузер должен блокировать запросы без корректного Access-Control-Allow-Origin.
Если использовались расширения для обхода CORS, их можно временно отключить или удалить. Это полностью возвращает стандартную политику безопасности Chrome.
Вопрос-ответ:
Что такое CORS и почему Chrome его блокирует?
CORS (Cross-Origin Resource Sharing) — это механизм безопасности браузера, который запрещает отправку запросов с одного домена к ресурсам другого без соответствующих заголовков. Chrome блокирует такие запросы, чтобы защитить данные пользователя и предотвратить несанкционированный доступ к внешним ресурсам.
Как временно отключить CORS в Chrome для тестирования локального приложения?
Для тестирования можно запустить Chrome с флагом —disable-web-security и отдельной папкой профиля через параметр —user-data-dir. Это снимает ограничение на кросс-доменные запросы. Такой способ подходит только для локальных экспериментов, так как снижает уровень защиты браузера.
Можно ли отключить CORS только для одного сайта, не затрагивая остальные?
Да, это можно сделать с помощью расширений Chrome или локального прокси. Например, в Moesif CORS Changer можно указать конкретный домен, для которого разрешены кросс-доменные запросы. Локальный прокси позволяет добавлять заголовки CORS только для определённых URL, сохраняя защиту для всех остальных сайтов.
Как проверить, что CORS действительно отключен в Chrome?
Откройте DevTools и перейдите на вкладку Network. Отправьте запрос к внешнему API. Если в ответе нет ошибок, связанных с заголовком Access-Control-Allow-Origin, и статус ответа соответствует ожидаемому, значит ограничение CORS снято. Также можно проверить работу через локальный прокси или расширение.
Что делать после завершения тестирования с отключённым CORS?
Необходимо закрыть все окна Chrome, запущенные с флагом —disable-web-security или отдельным профилем, чтобы вернуть стандартную защиту. Если использовались расширения для обхода CORS, их следует отключить или удалить, чтобы браузер снова применял корректные ограничения кросс-доменных запросов.
Можно ли отключить CORS в Chrome без установки расширений?
Да, отключение CORS возможно через запуск Chrome с флагом —disable-web-security и указанием отдельной папки профиля через —user-data-dir. Этот метод снимает ограничения на кросс-доменные запросы, но влияет на безопасность, поэтому использовать его стоит только для тестирования локальных приложений или API.
Как проверить, что CORS отключен и запросы проходят без блокировки?
Откройте DevTools и перейдите на вкладку Network. Сделайте запрос к стороннему API. Если в ответе нет ошибок, связанных с заголовком Access-Control-Allow-Origin, и возвращается ожидаемый статус, значит CORS отключен. Проверку можно проводить также через расширение или локальный прокси для конкретного сайта.
