Проверка доступа-контроля-разрешения-источника
Введите заголовки ответа CORS, чтобы проверить, не является ли политика перекрестного происхождения вашего сервера слишком разрешительной. Наш валидатор анализирует Access-Control-Allow-Origin, обнаруживает опасные конфигурации, такие как подстановочные знаки в учетных данных, и обеспечивает уровень безопасности (от A+ до F) с практическими рекомендациями — все это обрабатывается локально в вашем браузере с полной конфиденциальностью.
Paste CORS headers to check if the server's cross-origin policy is too permissive. Detects wildcard origins with credentials, null origins, and other common misconfigurations.
Paste CORS headers above or load an example to check their security posture
All validation happens locally in your browser - no data leaves your device
Зачем использовать нашу программу проверки доступа-контроля-разрешения-исходного кода?
- Проверка безопасности CORS. Вставьте заголовки CORS и мгновенно проверьте, соответствуют ли они рекомендациям по безопасности. Наш валидатор проверяет Access-Control-Allow-Origin, Access-Control-Allow-Credentials, Access-Control-Allow-Methods, Access-Control-Allow-Headers, Access-Control-Expose-Headers и Access-Control-Max-Age на соответствие известным шаблонам безопасности.
- Обнаружение критических неправильных конфигураций: обнаруживает опасные конфигурации CORS, которые могут привести к уязвимостям безопасности: источники с подстановочными знаками (*) в сочетании с учетными данными, нулевые источники, недопустимые URL-адреса источников, конечные косые черты в источниках и чрезмерно разрешительные списки заголовков или методов. Каждая проблема имеет рейтинг серьезности и четкое объяснение.
- Мгновенная оценка безопасности (от A+ до F). Получите немедленную оценку безопасности от A+ (отлично) до F (критические проблемы) с числовой оценкой из 100. Оценка отражает общее состояние безопасности вашей конфигурации CORS и помогает вам расставить приоритеты, какие проблемы следует устранить в первую очередь.
- 100% конфиденциальность и клиентская сторона: вся проверка заголовка CORS полностью выполняется в вашем браузере с использованием JavaScript. Ваши заголовки никогда не покидают ваше устройство — ни загрузка, ни обработка на сервере, ни регистрация. Проверяйте конфиденциальные внутренние конфигурации CORS с полной конфиденциальностью.
Распространенные случаи использования средства проверки Access-Control-Allow-Origin
- Аудит безопасности API: проверьте конфигурацию API CORS, чтобы убедиться, что запросы между источниками должным образом ограничены. Убедитесь, что конфиденциальные конечные точки не используют подстановочные знаки, что учетные данные разрешены только в случае явной необходимости и что разрешенные методы и заголовки минимальны.
- Обнаружение неправильной конфигурации CORS. Во время оценок безопасности вставьте заголовки CORS с любого сервера, чтобы быстро выявить чрезмерно разрешительные конфигурации. Обнаруживайте источники с подстановочными знаками с учетными данными, нулевые источники, которые позволяют использовать эксплойты в песочнице, или недопустимые форматы источников, которые вызывают ошибки браузера.
- Предварительная проверка CORS. Прежде чем развертывать новый API или веб-приложение, проверьте свою конфигурацию CORS на соответствие рекомендациям по безопасности. Убедитесь, что производственные политики CORS имеют правильную область действия и что разрешительные конфигурации на этапе разработки не развертываются случайно.
- Отладка ошибок CORS браузера. При отладке ошибок CORS в браузере используйте этот инструмент, чтобы проверить, правильно ли отформатированы заголовки CORS, возвращаемые сервером. Убедитесь, что источник совпадает, учетные данные настроены правильно и присутствует заголовок Access-Control-Allow-Origin.
- Проверка CORS стороннего API. Проверьте конфигурацию CORS сторонних API, с которыми вы планируете интегрироваться. Убедитесь, что они разрешают ваш источник, что заголовки ответов включают нужные вам методы и заголовки и что их политика CORS соответствует передовым практикам безопасности.
- Конфигурация CDN и статических активов: проверка заголовков CORS для ресурсов, размещенных в CDN, таких как шрифты, сценарии и таблицы стилей. Убедитесь, что обслуживание ресурсов из разных источников настроено правильно, чтобы браузеры могли безопасно загружать ресурсы, сохраняя при этом производительность.
Что такое заголовок Access-Control-Allow-Origin?
Заголовок Access-Control-Allow-Origin (ACAO) — это заголовок ответа CORS (Cross-Origin Resource Sharing), который сообщает браузерам, может ли веб-приложение, работающее в одном источнике, получать доступ к ресурсам из другого источника. Когда браузер выполняет запрос между источниками, он проверяет заголовок ACAO в ответе сервера, чтобы определить, разрешено ли запрашивающему источнику читать ответ. Если заголовок отсутствует или не соответствует запрашивающему источнику, браузер блокирует ответ и выдает ошибку CORS.
Заголовок ACAO принимает либо конкретное происхождение (например, https://example.com), подстановочный знак ( * ), допускающий любое происхождение, либо значение null для особых случаев. Выбор между конкретным источником и подстановочными знаками имеет серьезные последствия для безопасности и должен быть тщательно продуман с учетом того, обслуживает ли API конфиденциальные данные.
Как работает наша программа проверки доступа-контроля-разрешения-источника
Наш инструмент анализирует заголовки CORS и сравнивает их с лучшими практиками безопасности.
- Анализ заголовка. Инструмент считывает входные данные и идентифицирует до 6 заголовков ответа CORS: Access-Control-Allow-Origin, Access-Control-Allow-Credentials, Access-Control-Allow-Methods, Access-Control-Allow-Headers, Access-Control-Expose-Headers и Access-Control-Max-Age. Он поддерживает необработанные значения (только начало координат) и полный заголовок: формат значения.
- Анализ безопасности. Каждый заголовок проверяется на наличие проблем с безопасностью: происхождение подстановочных знаков с учетными данными (отклонено браузером), нулевое происхождение (риск эксплойта в песочнице), недопустимые URL-адреса происхождения, конечные косые черты, повторяющиеся методы и ненадлежащее использование подстановочных знаков. Каждое обнаружение классифицируется по степени серьезности (ошибка, предупреждение, информация).
- Расчет оценок. На основании полученных результатов рассчитывается оценка от 0 до 100, которая преобразуется в буквенную оценку от A+ (отлично) до F (критические проблемы). Оценка отражает общий уровень безопасности вашей конфигурации CORS.
Распространенные риски безопасности CORS
Понимание этих распространенных неправильных конфигураций CORS поможет вам создавать более безопасные веб-приложения:
- Подстановочный знак с учетными данными — использование Access-Control-Allow-Origin: * вместе с Access-Control-Allow-Credentials: true явно запрещено спецификацией CORS. Браузеры будут полностью отклонять запросы с этой комбинацией. Используйте конкретный источник, когда требуются учетные данные.
- Чрезмерно разрешающие источники. Использование подстановочного знака (*) для разрешенного источника открывает доступ к вашему API любому веб-сайту. Это подходит для общедоступных, неконфиденциальных конечных точек данных, но его следует избегать, когда речь идет об аутентификации или данных, специфичных для пользователя.
- Допуск нулевого происхождения. Настройка Access-Control-Allow-Origin: null позволяет изолированным iframe и локально открываемым HTML-файлам выполнять запросы между источниками. Это можно использовать для локальных файловых атак.
- Отраженные источники. Если сервер динамически повторяет заголовок запроса Origin без проверки, он может позволить любому вредоносному сайту выполнять аутентифицированные запросы. Всегда проверяйте отраженные источники по белому списку.
Конфиденциальность и безопасность
Вся проверка заголовка CORS полностью выполняется в вашем браузере с использованием JavaScript. Вставленные вами заголовки CORS никогда не отправляются на какой-либо сервер, никогда не сохраняются ни в одной базе данных и никогда не покидают ваше устройство. Это обеспечивает полную конфиденциальность при проверке заголовков с любого сервера, включая внутренние API.
Инструмент работает полностью в автономном режиме после начальной загрузки страницы. Никакие данные не регистрируются, никакая аналитика не отслеживает ваши запросы, и ни один сервер не обрабатывает ваши входные данные. Ваше тестирование безопасности остается полностью конфиденциальным.
Часто задаваемые вопросы
Access-Control-Allow-Origin (ACAO) — это заголовок ответа HTTP, который указывает, каким источникам разрешено читать ответ на запрос между источниками. Это часть спецификации CORS (Cross-Origin Resource Sharing). Заголовок может содержать определенное происхождение (например, «https://example.com»), подстановочный знак («*»), чтобы разрешить все источники, или «ноль» для особых случаев.
Использование Access-Control-Allow-Origin: * вместе с Access-Control-Allow-Credentials: true создает конфигурацию, которая явно запрещена спецификацией CORS. Браузеры отклонят любой запрос, который сочетает в себе подстановочный знак происхождения и учетные данные. Это критическая мера безопасности, поскольку разрешение любому источнику отправлять запросы с учетными данными приведет к раскрытию данных сеанса пользователя для каждого веб-сайта.
CORS (Cross-Origin Resource Sharing) — это механизм безопасности браузера, который контролирует, как веб-страницы из одного источника могут запрашивать ресурсы из другого источника. Без CORS вредоносные веб-сайты могли бы отправлять запросы другим сайтам и читать ответы, потенциально похищая конфиденциальные данные. Правильная конфигурация CORS необходима для веб-безопасности.
Абсолютно. Вся проверка заголовка CORS полностью выполняется в вашем браузере с использованием клиентского JavaScript. Вставленные вами заголовки никогда не отправляются на какой-либо сервер, никогда не сохраняются в какой-либо базе данных и никогда не покидают ваше устройство. Инструмент работает полностью в автономном режиме после начальной загрузки страницы.
Уровень безопасности (от A+ до F) отражает общий уровень безопасности вашей конфигурации CORS. А+ (95–100) означает отличную безопасность без проблем. А (85-94) означает хорошо. B (75-84) означает приемлемо с небольшими предупреждениями. С (60-74) означает значительные пробелы. D (40-59) означает плохую безопасность. F (0–39) означает критические уязвимости, требующие немедленного внимания.
Этот инструмент проверяет заголовки CORS на предмет распространенных ошибок в настройках безопасности и лучших практик. Он обнаруживает подстановочные символы с учетными данными, нулевые источники, недопустимые URL-адреса источников, конечные косые черты, повторяющиеся методы и слишком разрешительные списки заголовков. Для полного тестирования CORS рассмотрите возможность тестирования с использованием реального инструмента предполетной проверки CORS на основе браузера.
Ошибка CORS указывает на конфигурацию, которая заставит браузеры блокировать запросы или создаст уязвимость безопасности. Предупреждение CORS указывает на конфигурацию, которая, хотя и не блокируется, не идеальна — например, использование подстановочного знака для конечной точки, которая обслуживает данные, специфичные для пользователя. Предупреждения следует просмотреть, но они не могут привести к немедленным сбоям.
Да, этот инструмент на 100% бесплатен, не требует регистрации, ограничений на использование и скрытых платежей. Проверьте столько конфигураций CORS, сколько вам нужно, с полной конфиденциальностью. Вся обработка происходит локально в вашем браузере.