Что означает заголовок ('P3P: CP = "CAO PSA OUR"'); делать? - PullRequest
50 голосов
/ 10 марта 2011

Для чего header('P3P: CP="CAO PSA OUR"');?

Как / почему он позволит этому скрипту нормально работать в IE?

session_start();

if (!session_is_registered(pre_myusername)) {
    header("location:index.php");
    exit();
}

Ответы [ 3 ]

61 голосов
/ 10 марта 2011

P3P - это Платформа настроек конфиденциальности. Значение CP="CAO PSA OUR" описывает компактную политику с токенами

  • контакт и другие (информация о доступе: Какая информация собирается? )

    Идентифицированная контактная информация и другие идентифицированные данные: доступ предоставляется идентифицированнымонлайновая и физическая контактная информация, а также некоторые другие идентифицированные данные.

  • псевдоанализ (информация о цели: Что такоесобранная информация, используемая для? )

    Псевдонимный анализ : Информация может использоваться для создания или создания записи конкретного лица или компьютера, к которому они привязаныс псевдонимом, без привязки идентифицированных данных (таких как имя, адрес, номер телефона или адрес электронной почты) к записи.Этот профиль будет использоваться для определения привычек, интересов или других характеристик отдельных лиц с целью исследования, анализа и отчетности , но он не будет использоваться для определения конкретных лиц.Например, маркетолог может пожелать понять интересы посетителей различных частей веб-сайта.

  • наши (информация о получателе: Кто получает эту собранную информацию? )

    Мы и / или организации, действующие в качестве наших агентов или организаций, для которых мы выступаем в качестве агента Агент в этом случае определяется как третья сторона, которая обрабатывает данные только от имени поставщика услуг для достижения указанных целей.(например, поставщик услуг и его бюро печати, которое печатает адресные этикетки и больше ничего не делает с информацией.)

7 голосов
/ 10 марта 2011

Гамбо уже объяснил, что такое P3P. Теперь о вашем коде session_is_registered устарела. Вы используете pre_myusername в качестве константы. Если он не определен, PHP примет строку, но полагаться на это поведение не рекомендуется. Если вы действительно намеревались использовать константы, используйте заглавные буквы для ясности. Обратите внимание, что переменная должна начинаться с доллара ($).

  • Убедитесь, что содержимое не отправлено до session_start();, иначе файл cookie сеанса не будет отправлен.
  • Переменные сеанса доступны из массива $_SESSION.
  • isset() может использоваться для проверки существования переменной (в данном случае ключа массива).

Итак, действительный код становится:

session_start();
if(!isset($_SESSION['pre_myusername'])){
    header("Location: index.php");
    exit();
}

Примеры и документацию по функциям сеанса см. В руководстве по PHP .

3 голосов
/ 25 февраля 2013

header('P3P: CP="CAO PSA OUR"') устанавливает конкретную P3P Компактную политику (CP), которая обычно используется для разрешения использования сторонних файлов cookie из (i) фреймов в Internet Explorer.

Из Статья базы знаний Майкрософт 323752 .

В Internet Explorer 6 появилась поддержка проекта «Платформа для настройки конфиденциальности» (P3P).Стандарт P3P отмечает, что если FRAMESET или родительское окно ссылаются на другой сайт внутри FRAME или внутри дочернего окна, дочерний сайт считается сторонним контентом.Internet Explorer, который использует настройку конфиденциальности по умолчанию Medium, молча отклоняет файлы cookie, отправленные с сайтов третьих сторон.

В статье описан код CP, указанный выше:

Этот пример кодапоказывает, что ваш сайт предоставляет вам доступ к вашей собственной контактной информации (CAO), что любые проанализированные данные являются только «псевдоанализированными», что означает, что данные связаны с вашей сетевой персоной, а не с вашей физической идентификацией (PSA), ичто ваши данные не предоставляются никаким сторонним агентствам для использования этими агентствами (OUR).

NB Этот CP недействителен в его нынешнем виде, так как он не содержит RETENTION или CATEGORIES токенов.

...