Атрибут referrerpolicy тега <iframe>
Описание
Атрибут referrerpolicy определяет, какая информация о реферере (источнике перехода) будет отправляться при загрузке содержимого элемента <iframe>. Это важный инструмент для контроля конфиденциальности и безопасности.
<iframe
src="https://analytics.example.com/widget"
referrerpolicy="no-referrer-when-downgrade"
width="300"
height="200">
</iframe>
Доступные значения:
| Значение | Описание | Когда использовать |
|---|---|---|
no-referrer |
Не отправлять никакие данные о реферере | Максимальная приватность |
no-referrer-when-downgrade |
Отправлять полный URL при переходе HTTPS→HTTPS (по умолчанию) | Безопасность без потери аналитики |
origin |
Отправлять только домен (без пути) | Баланс между аналитикой и приватностью |
strict-origin |
Отправлять домен только при безопасном переходе | Защита данных при переходе HTTPS→HTTPS |
origin-when-cross-origin |
Полный URL для same-origin, только домен для cross-origin | Оптимизация внутренней аналитики |
Пример для разных сценариев:
<!-- Максимальная приватность -->
<iframe src="https://external.com" referrerpolicy="no-referrer"></iframe>
<!-- Для внутренних ресурсов -->
<iframe src="/internal-widget" referrerpolicy="origin-when-cross-origin"></iframe>
<!-- Для аналитических сервисов -->
<iframe src="https://stats.example.com" referrerpolicy="strict-origin"></iframe>
Рекомендации по использованию:
- Используйте
no-referrerдля сторонних виджетов, если не нужна аналитика strict-origin- хороший баланс для большинства случаев- Для внутренних iframe можно использовать менее строгие политики
- Тестируйте работу сервисов при изменении политики реферера
Определение текущей политики:
<iframe id="testFrame" src="about:blank"></iframe>
<script>
const frame = document.getElementById('testFrame');
console.log('Текущая политика реферера:',
frame.referrerPolicy || 'no-referrer-when-downgrade (по умолчанию)');
</script>
Ограничения и совместимость:
- Поддерживается всеми современными браузерами
- В IE не поддерживается
- Сервер может игнорировать заголовки Referer
- Некоторые сервисы требуют определенных политик для работы
Примечание: Выбор правильной политики реферера особенно важен для GDPR и других требований к конфиденциальности. Всегда проверяйте, как изменение политики влияет на интеграции с внешними сервисами.