Проверка разрешений-политики
Анализируйте любой заголовок Permissions-Policy на основе обширной базы данных, содержащей более 35 функций API браузера. Вставьте свою политику, нажмите «Проверить» и сразу же увидите, какие API разрешены, заблокированы или ограничены — все обрабатывается локально в вашем браузере, данные не загружаются.
Paste a Permissions-Policy (formerly Feature-Policy) header value to analyse which browser APIs are allowed, blocked, or restricted to specific origins.
Paste a Permissions-Policy header above or load an example to get started
All analysis happens locally in your browser - no data leaves your device
Зачем использовать нашу программу проверки политики разрешений?
- Мгновенный анализ политики: вставьте любой заголовок Permissions-Policy и получите немедленный анализ каждой функции API браузера. Средство проверки анализирует политику, идентифицирует каждую директиву и показывает, разрешены, заблокированы или ограничены функции — регистрация или перезагрузка страницы не требуются.
- Обнаружение подстановочных знаков и безопасности: автоматически помечает функции с помощью белого списка с подстановочными знаками (*), который предоставляет доступ из любого источника, и выделяет заблокированные функции. Каждая функция классифицирована по типу (датчики, носитель, вход, безопасность, сеть, хранилище, устройство) с четкими значками состояния.
- Комплексный справочник функций: охватывает более 35 стандартных функций API браузера, включая геолокацию, камеру, микрофон, полноэкранный режим, оплату, WebUSB, WebBluetooth, датчики, буфер обмена и новые API. Неизвестные или экспериментальные функции перечислены отдельно для полной прозрачности.
- Обработка конфиденциальности: весь анализ политики происходит полностью в вашем браузере с использованием клиентского JavaScript. Ваши заголовки Permissions-Policy никогда не покидают ваше устройство — ни загрузка на сервер, ни файлы cookie, ни отслеживание. Абсолютно бесплатно и не требует регистрации.
Распространенные случаи использования средства проверки политики разрешений
- Аудит веб-безопасности: проверьте заголовок Permissions-Policy перед развертыванием в рабочей среде. Убедитесь, что мощные API браузера, такие как геолокация, камера и микрофон, доступны только доверенным источникам и что никакие конфиденциальные функции не подвергаются случайному воздействию сторонних iframe.
- DevOps и конвейер развертывания: интегрируйте проверку политик разрешений в свой конвейер CI/CD. Прежде чем развертывать новый заголовок политики в рабочей среде, проверьте его с помощью инструмента, чтобы выявить неправильные конфигурации, которые могут либо нарушить встроенные функции, либо оставить бреши в безопасности вашего веб-приложения.
- Проверка интеграции третьих сторон. При внедрении стороннего контента (iframe платежей, социальных виджетов, аналитики) используйте средство проверки, чтобы убедиться, что ваша политика разрешений предоставляет только минимально необходимые разрешения. Убедитесь, что сторонний код не может получить доступ к конфиденциальным API, кроме того, что требуется.
- Миграция политики функций: переход от устаревшего заголовка Feature-Policy к современной политике разрешений? Средство проверки помогает вам проверить правильность нового синтаксиса и сохранение всех ограничений функций при переходе между форматами заголовков.
- Отладка ошибок разрешений. Если API браузера дает сбой с ошибкой NotAllowedError или SecurityError, используйте средство проверки, чтобы определить, не блокирует ли его заголовок Permissions-Policy. Убедитесь, что требуемая функция не находится в списке заблокированных и что список разрешенных содержит правильные источники.
- Обучение и документация. Узнайте, как работает заголовок Permissions-Policy, экспериментируя с различными конфигурациями. Узнайте, как классифицируются функции, как списки разрешений контролируют доступ к источникам и как подстановочные знаки, собственные и конкретные источники различаются по своим последствиям для безопасности.
Что такое политика разрешений?
Permissions-Policy (ранее известный как Feature-Policy) — это HTTP-заголовок, который позволяет владельцам веб-сайтов контролировать, какие API и функции браузера могут использоваться их страницами и встроенным сторонним контентом. Он действует как хранитель разрешений — вы можете выборочно включать, отключать или ограничивать доступ к мощным API, таким как геолокация, камера, микрофон, полноэкранный режим, оплата и датчики. Установив заголовок Permissions-Policy, вы создаете границу безопасности, которая предотвращает доступ вредоносного или неожиданного кода к конфиденциальным возможностям устройства без явного разрешения.
Как работает наша программа проверки политики разрешений
- Анализ: средство проверки анализирует строку заголовка Permissions-Policy на отдельные директивы функций, правильно обрабатывая запятые, круглые скобки и значения белого списка, включая self, * и определенные источники.
- Анализ: каждая директива сопоставляется с обширной базой данных, содержащей более 35 известных функций API браузера. Функции классифицируются по типам (датчики, носитель, вход, безопасность, сеть, хранилище, устройство) с четкими значками состояния, указывающими, заблокированы ли они, ограничены определенным источником или полностью открыты.
- Отчет: представлен подробный анализ, показывающий состояние каждой известной функции, любых найденных неизвестных или экспериментальных функций, оценки безопасности для заблокированных и подстановочных политик, а также полную сводную статистику политик.
Синтаксис политики разрешений и значения белого списка
- Заблокировано (): пара пустых круглых скобок означает, что функция заблокирована для всех источников. Браузер запретит доступ к API, и любая попытка его использования приведет к ошибке NotAllowedError.
- Self: использование self внутри круглых скобок ограничивает функцию тем же источником, что и страница. Это рекомендуемая настройка для большинства функций.
- Конкретные источники: вы можете указать конкретные источники, например «https://trusted.example.com», чтобы разрешить доступ только из доверенных доменов.
- Подстановочный знак (*): использование * позволяет использовать функцию из любого источника, включая все сторонние iframe. Используйте с осторожностью, так как это не обеспечивает контроля доступа.
Конфиденциальность и безопасность
Ваши заголовки Permissions-Policy никогда не покидают ваше устройство. Весь синтаксический анализ, анализ и составление отчетов происходит полностью в вашем браузере с использованием клиентского JavaScript. Никакие данные не загружаются на какой-либо сервер, файлы cookie или отслеживание не используются, а также не требуются ключи API или регистрация. Это означает, что вы можете безопасно анализировать даже самые конфиденциальные политики безопасности для внутренних приложений, не беспокоясь о конфиденциальности. Этот инструмент можно использовать совершенно бесплатно, без ограничений на количество политик, которые вы можете проверить.
Часто задаваемые вопросы
Permissions-Policy (ранее Feature-Policy) — это HTTP-заголовок, который позволяет владельцам веб-сайтов контролировать, какие API и функции браузера могут использоваться их страницами и встроенным сторонним контентом. Он действует как граница безопасности: вы можете выборочно включать, отключать или ограничивать доступ к мощным API-интерфейсам, таким как геолокация, камера, микрофон, полноэкранный режим и датчики, указав белый список источников для каждой функции.
Заголовки Permissions-Policy можно добавлять на уровне веб-сервера (Apache, Nginx, IIS), через вашу хостинговую платформу (Cloudflare, Vercel, Netlify) или в коде вашего приложения (промежуточное ПО Next.js, Express.js, Django). Имя заголовка — «Permissions-Policy», а значение — список директив функций, разделенных запятыми, таких как «geolocation=(self), camera=(), микрофон=*».
Permissions-Policy — это современная замена старого заголовка Feature-Policy. Основные различия таковы: Permissions-Policy использует другой синтаксис с круглыми скобками и запятыми, тогда как Feature-Policy использует точки с запятой и не содержит круглых скобок. Permissions-Policy также имеет более строгое поведение по умолчанию: если функция не указана в политике, она рассматривается как заблокированная. Большинство современных браузеров теперь поддерживают Permissions-Policy, а Feature-Policy устарела.
Использование подстановочного знака (*) в белом списке политик разрешений означает, что эта функция предоставляется всем источникам, включая любые сторонние iframe, встроенные в страницу. Это фактически отключает контроль разрешений для этой функции. Рекомендуется по возможности использовать «собственный» или конкретное происхождение вместо подстановочных знаков, чтобы обеспечить надлежащий контроль доступа.
Permissions-Policy действует как привратник, который может блокировать доступ к API еще до обращения к API разрешений. Если функция заблокирована политикой разрешений (пустой список разрешений), браузер немедленно откажет в доступе и выдаст ошибку NotAllowedError — пользователь никогда не увидит запрос на разрешение. Если политика разрешает эту функцию, применяется обычный поток API разрешений, и пользователю может быть предложено предоставить или запретить доступ.
Если вы не установите заголовок Permissions-Policy, браузер применяет поведение по умолчанию для каждой функции. В современных браузерах наиболее мощные API по умолчанию имеют значение «self», то есть им разрешено использование одного и того же источника, но заблокировано для iframe из разных источников. Установка явного заголовка Permissions-Policy обеспечивает согласованное поведение во всех браузерах и обеспечивает глубокую защиту.
Чтобы разрешить функцию для определенного iframe, вам нужны как заголовок Permissions-Policy, включающий источник, так и атрибут «allow» в элементе iframe. Например, установите «geolocation=(self \"https://maps.example.com\")» в заголовке и добавьте let="geolocation" в тег <iframe>. В дополнение к заголовку требуется атрибут разрешения в iframe.
Да, средство проверки политики разрешений можно использовать совершенно бесплатно. Весь анализ и анализ происходят полностью в вашем браузере — данные не загружаются на какой-либо сервер, ключи API не требуются и регистрация не требуется. Вы можете проверить столько политик, сколько захотите, с гарантией полной конфиденциальности.