Атрибут cookie Samesite не устанавливается с помощью JavaScript - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь установить атрибут SameSite, используя JavaScript на моем сайте. Код

<script type="text/javascript">

    document.cookie = "AC-C=ac-c;expires=Fri, 31 Dec 9999 23:59:59 GMT;path=/;HttpOnly;SameSite=Lax";
  </script>

Файл cookie устанавливается, но атрибут SameSite не устанавливается. Есть идеи, где я скучаю?

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 июня 2019

Ваша проблема не с SameSite, а с HttpOnly. HttpOnly и SameSite - это две независимые вещи, если вы удалите HttpOnly, это будет работать… и cookie будет установлен с SameSite.

<script>
    document.cookie = "AC-C=ac-c;expires=Fri, 31 Dec 9999 23:59:59 GMT;path=/;SameSite=Lax";
    alert( document.cookie );
</script>
0 голосов
/ 16 мая 2018

Это атрибут, который может быть установлен только сервером (например, HttpOnly) в ответных куки, которые он отправляет в браузер. Было бы бессмысленно, если бы клиентскому коду было разрешено устанавливать его, если вы действительно задумываетесь о его назначении (предотвращение CSRF, заставляя браузер отправлять это только для тех же исходных запросов).

Файлы cookie SameSite позволяют серверам не отправлять файлы cookie. с межсайтовыми запросами, что несколько защищает от межсайтовых запрос подделки атак (CSRF). Печенье SameSite по-прежнему экспериментальный и пока не поддерживается всеми браузерами.

Ссылка 1

Ссылка 2

Ссылка 3

...