IFrames + Google Analytics + Cookies + P3P

Я работаю над сайтом, который генерирует трафик для сайтов-партнеров. Когда на нашем сайте щелкнут логотип сайта партнера, мы открываем партнерский сайт на странице, содержащей наш основной заголовок и сайт-партнер в iframe. Раньше мы просто открывали партнерский сайт в новом окне. Пока все круто.

Большинство сайтов-партнеров используют Google Analytics для отслеживания трафика, который мы отправляем, и вскоре после того, как мы начали открывать сайты в iframe, наши партнеры сообщили, что Google Analytics больше не отслеживает данные (или отслеживает только часть данных).

Я сделал свою долю домашней работы/исследований в googleverse и обнаружил проблему с аналитикой google или куки в целом по доменам и iframes.

Я пытаюсь решить эту проблему, и единственным решением, на которое было обращено ссылки, является использование заголовков P3P.

  • Во-первых, куда идут заголовки P3P? На страницах моих сайтов или на страницах партнерских сайтов. Поскольку у нас много партнерских сайтов (больших и малых), это не будет практичным, если решение заключается в размещении тегов на каждом из этих сайтов. Я могу легко добавить их на страницу, содержащую iframe.

  • Среди различных генераторов заголовков p3p есть надежный, который вы рекомендуете?

  • Есть ли способ обойти эту проблему? Мне действительно нужно открыть сайты в iframe, и, очевидно, партнерам действительно нужно отслеживать трафик.

Спасибо за помощь.

Ответ 1

К сожалению, вам и сайту-партнеру необходимо установить заголовки.

Альтернатива:

  • Если вы не хотите, чтобы сайт партнера устанавливал заголовки, одним из вариантов является снижение уровня безопасности (в IE) или предоставление доступа к сторонним куки файлам (в FF) в настройках браузера. Каждый клиент должен это сделать, поэтому это может быть не привлекательным решением.
  • Используйте localStorage (HTML5 - браузеры, поддерживающие localStorage, разрешают доступ как к сайту, так и к содержимому iFrame, которое хранится в localStorage). Это может быть невыполнимо в краткосрочной перспективе, так как требует, чтобы и вы, и ваш партнерский сайт реализовали информацию о сохранении/чтении в/из localStorage, и не каждый браузер поддерживает ее (особенно в более старых IE-браузерах).

Чтобы добавить основной заголовок политики (в идеале вы должны создать свою собственную политику, которая прямолинейна - проверьте элемент № 2 ниже)

в php добавьте эту строку:

<?php header('P3P: CP="CAO PSA OUR"'); ?>

в ASP.Net:

HttpContext.Current.Response.AddHeader("p3p", "CP=\"CAO PSA OUR\"");

в HTML-страницах:

<meta http-equiv="P3P" content='CP="CAO PSA OUR"'>

Относительно ваших других проблем:

Заголовки

1) P3P относятся к HTTP-заголовку, который поставляет что-то, называемое компактную политику в браузер. Без такой политики на месте IE (наиболее заметно) и другие браузеры будут блокировать доступ к сторонним куки файлам (термин, используемый для ссылки на куки файлы iFrame) для защиты конфиденциальности пользователей.

Что касается Google Analytics, и, ваш сайт и сайт-партнер все равно должны настроить междоменное отслеживание, как указано в их документации.

2) Вы можете использовать заголовок основной политики (этого достаточно, чтобы исправить файлы cookie iFrame):

P3P: CP = "CAO PSA OUR"

или создать свой собственный. Если вы не знаете, что означают эти термины, см. .

Чтобы создать такую ​​политику, вы можете использовать онлайн-редакторы, такие как p3pedit.com или инструмент IBM , который представить набор вопросов и дать вам ответы. Это облегчает вам быстрое создание такой политики. Вы можете сгенерировать политику XML, компактную политику и многое другое.

3) Вы можете попробовать две альтернативы, упомянутые выше.

Шаги по добавлению политики на весь сайт

  • Создайте компактную политику (используя один из инструментов, упомянутых ранее) или используйте базовую политику
  • В IIS щелкните правой кнопкой мыши нужную страницу, каталог или сайт и выберите "Свойства".
  • На вкладке "Заголовки HTTP" нажмите "Добавить".
  • В поле "Пользовательское имя заголовка" введите P3P.
  • В поле "Пользовательское значение заголовка" введите свою политику Compact P3P (или базовую) и нажмите "ОК".
  • В Apache строка mod_header, подобная этой, будет делать:
Header append P3P "CP=\"CAO PSA OUR\""

Надежда помогает.