Установить код P3P в HTML
Я исследовал эту тему много. Но я не понимаю, можно ли установить тег P3P в обычном HTML? Прямо перед первым тэгом.
Я пытаюсь получить решение iFrame-login для работы в IE.
Я только что нашел пример кода в PHP, ASP.NET и так далее, но не в простом HTLM, если это вообще возможно.
1 ответ
Я недавно столкнулся с той же проблемой, пытаясь обслуживать статический HTML из AWS S3.
К сожалению, невозможно установить Compact Policies без отправки заголовков ответа на стороне сервера.
Это означает, что вы не можете установить компактную политику для статически обслуживаемого содержимого HTML.
Раздел 2.4.2 документа по развертыванию P3P прямо упоминает это (выделено мной):
У сайтов есть только один механизм для обслуживания компактных политик; они отправляются как заголовки ответа HTTP. Таким образом, если сайт не может или не хочет добавлять заголовки HTTP-ответа, использовать компактные политики невозможно.
Элемент HTML META с атрибутом http-эквивалент иногда используется для имитации эффекта добавления заголовков HTTP к содержимому HTML.... механизм http-эквивалент не должен использоваться для отправки заголовка компактной политики P3P, так как эта информация может быть недоступна клиенту до тех пор, пока он не обработает файлы cookie в ответе.
<meta http-equiv='p3p' content='CP="..."'/>
а также <link rel="P3Pv1" href="...">
элементы также не могут устанавливать компактную политику - это должен быть заголовок ответа.
Суть заключается в следующем:
Вы можете отправить p3p
заголовок ответа?
Да: добавьте заголовок с соответствующей политикой, и все готово.
Нет: вам не повезло, и вы не можете установить компактную политику.
Для Amazon S3:
p3p
заголовок считается пользовательским ключом, поэтому он может быть добавлен только как x-amz-meta-p3p
,
поскольку x-amz-meta-p3p
знак равно p3p
браузер не примет его как правильный заголовок.
Поэтому нельзя установить компактную политику для контента AWS S3.