Активно обсуждается этот вопрос здесь:
https://github.com/w3c/webappsec-feature-policy/issues/189
Подводя итог потоку github, основная проблема с политикой default
заключается в том, что вы можете использовать функцию, которая впоследствии становится предметом политики. После этого ваш веб-сайт сломается, и в результате поставщики браузеров либо не отправят новую функцию, либо не захотят ставить ее в соответствие с политикой, а политика функций как концепция окажется мертвой в воде.
Существует несколько возможных решений:
- Заставьте
default
отнести не только ко всем существующим политикам, но и ко всему , которое может быть предметом политики, благодаря невероятно широкой сети. Это отключит практически все DOM, браузер и сетевые API. Но вполне вероятно, что вы захотите использовать некоторые из этих вещей, делая директиву довольно бесполезной.
- Не реализуйте
default
, но добавьте некоторые неизменные «связки» политик. Когда вы принимаете пакет, вы знаете, что он содержит, и это не изменится, но по мере введения новых политик мы можем создавать новые более крупные, более ограниченные пакеты, не нарушая сайтов, которые приняли предыдущие пакеты. Это мое предложение