Всплывающее окно согласия на использование cookie-файлов не исчезает в IFrame

#html #google-chrome #cookies #iframe #cookie-policy

#HTML #google-chrome #файлы cookie #iframe #политика использования файлов cookie

Вопрос:

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

Когда мы открываем веб-сайты на вкладках браузера, всплывающее окно больше не появляется, как только мы принимаем cookie.Что может происходить и как мы можем избавиться от этих всплывающих окон согласия на использование файлов cookie, как только пользователь примет его в IFrame? Пожалуйста, обратите внимание, что мы не контролируем сайты, отображаемые в IFrame.

Я попробовал простую HTML-страницу с IFrame, и проблема была воспроизведена там, код следующим образом

 <html>
<head>
<title>IFrame issue</title>
</head>
<body>
<iframe src="https://www.nutrition.org.uk/" height="100%" width="100%" title="IFrame Example" ></iframe>
</body>
</html>
 

Скриншот всплывающего окна (внизу страницы черным цветом)

введите описание изображения здесь

Обновить:-

Я проверил файлы cookie, установленные для этого веб-сайта, на обычной вкладке браузера, когда пользователь нажимает кнопку «ОК».Устанавливается новый файл cookie, например, в этом случае «cookieAcceptanceCookie» =»принято».Проверьте изображение ниже,

введите описание изображения здесь

То же самое я проверил с помощью IFrame, и там тоже был установлен тот же файл cookie.Проверьте изображение ниже.

введите описание изображения здесь

Похоже, проблема остается при отправке этого файла cookie в последующих запросах.Я предполагаю, что обычные вкладки браузера могут отправлять этот файл cookie туда, где IFrame не может его отправить, поэтому эта проблема возникает в IFrame.

Ответ №1:

На самом деле это обычная функция конфиденциальности браузеров, поскольку фреймам iframe не разрешено устанавливать файлы cookie. Это защита от CSRF и функция защиты от отслеживания, поскольку веб-сайты долгое время отслеживали пользователей с помощью файлов cookie, которые поступают из iframes.

Вероятно, вам потребуется указать своим пользователям Allow third-party cookies в chrome://settings/content/cookies, возможно, создав страницу, подобную этой.

Если вы контролировали сайты внутри iframe, вы могли бы использовать SameSite=None ….. но, к сожалению, это неприменимо, потому что вы их не контролируете.