Как исправить предупреждение "установить для SameSite cookie значение none"? Расширение Chrome - PullRequest
20 голосов
/ 01 октября 2019

Я создал расширение Chrome и из popup.js я назвал PHP-скрипт (используя Xhttprequest), который читает cookie. Например:

$cookie_name = "mycookie";

if(isset($_COOKIE[$cookie_name]))
{
    echo $_COOKIE[$cookie_name];
}
else{
    echo "nocookie";
}

Но я получаю это предупреждение при ошибках в расширениях.

Файл cookie, связанный с межсайтовым ресурсом в (Вот мой домен), былустанавливается без атрибута SameSite. В следующем выпуске Chrome файлы cookie будут отправляться только с межсайтовыми запросами, если для них установлены значения SameSite=None и Secure. Вы можете просмотреть файлы cookie в инструментах разработчика в разделе «Приложения»> «Хранилище»> «Файлы cookie» и просмотреть более подробную информацию по https://www.chromestatus.com/feature/5088147346030592 и https://www.chromestatus.com/feature/5633521622188032.

Я пытался создать такой файл cookie, но это не удалосьhelp.

setcookie($cookie_name,$cookie_value, time() + 3600*24, "/;samesite=None ","mydomain.com", 1);

Следуя инструкциям этот вопрос.

Ответы [ 3 ]

4 голосов
/ 04 октября 2019

Я тоже «проб и ошибок», но этот ответ от Github из Google Chrome Labs мне немного помог. Я определил его в свой основной файл, и он работал - хорошо, только для одного стороннего домена. Все еще делаю тесты, но я хочу обновить этот ответ, предложив лучшее решение:)

Если у вас PHP до 7.2, как мой сервер:

header('Set-Cookie: cross-site-cookie=name; SameSite=None; Secure');

Или, если ваш хост уже обновлен до 7.3, вы можете использовать:

setcookie('cross-site-cookie', 'name', ['samesite' => 'None', 'secure' => true]);

Еще одна вещь, которую вы можете попробовать проверить куки, это включить флаг ниже, который - вих собственные слова - «добавит предупреждающие сообщения консоли для каждого файла cookie, потенциально затрагиваемого этим изменением»:

chrome://flags/#cookie-deprecation-messages

См. весь код по адресу: https://github.com/GoogleChromeLabs/samesite-examples/blob/master/php.md, они имеюткод для same-site-cookies тоже.

3 голосов
/ 15 октября 2019

По мере появления новой функции файлы cookie SameSite=None также должны быть помечены как Secure, иначе они будут отклонены.

Более подробную информацию об изменении обновлений хрома можно найти и в этом сообщении в блоге

Примечание : не совсем напрямую связано с вопросом, но может быть полезно для других, кто попал сюда, так как это было моей заботой в началеразработка моего веб-сайта:

, если вы видите предупреждение из вопроса, в котором перечислены некоторые сторонние сайты (в моем случае это был google.com, да) - это означает, что они необходимо исправитьэто и не имеет ничего общего с вашим сайтом. Конечно, если в предупреждении не упоминается ваш сайт, в этом случае добавление Secure должно исправить это.

0 голосов
/ 25 октября 2019

не работает для меня на PHP 7.2 ... все еще вижу предупреждения (23) от карт Google в Iframe ... все еще не знаю, как решить эту проблему ...

вотссылка о sameSite = поведение не отклонено:

несовместимые клиенты

Тем не менее у меня есть эта версия Chrome:

Версия 78.0.3904.70 (Build officiel)(64 бита)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...