#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 ….. но, к сожалению, это неприменимо, потому что вы их не контролируете.