как редактировать код setcook ie для samesite = lax - PullRequest
0 голосов
/ 26 февраля 2020

Я перепробовал несколько изменений, но не смог найти решение. Как редактировать этот код setcook ie для samesite = lax / or строгого

<a href="" onClick="cookienumberone('COOKIEXYZ','0','-1')">
<button type="button">buttontext</button></a>

<script>
    function cookienumberone(){
       days=30; // number of days to keep the cookie
       myDate = new Date();
       myDate.setTime(myDate.getTime()+(days*24*60*60*1000));
       document.cookie = 'COOKIEXYZ=0; expires=' + myDate.toGMTString();
    }
</script>

EDIT: решение для выше: document.cook ie = 'COOKIEXYZ = 0; SameSite = Лаксово; expires = '+ myDate.toGMTString ();

и повар ie для входа в систему, тот же вопрос:

setcookie("cookie_login",$rs->row["login"],time()+60*60*24*365,"/",str_replace("http://","",surl));

1 Ответ

1 голос
/ 27 февраля 2020

Для клиентской стороны JavaScript вы указываете document.cookie в том же формате, что и заголовок Set-Cookie.

например,

document.cookie = 'same-site-cookie=foo; SameSite=Lax';
document.cookie = 'cross-site-cookie=bar; SameSite=None; Secure';

Для вашей платформы, которая выглядит как быть PHP, с PHP 7.3.0 метод setcookie() поддерживает атрибут SameSite в своих параметрах и будет принимать None в качестве допустимого значения.

setcookie('same-site-cookie', 'foo', ['samesite' => 'Lax']);
setcookie('cross-site-cookie', 'bar', ['samesite' => 'None', 'secure' => true]);

Для более ранних версий PHP вы также можете установить header() напрямую:

header('Set-Cookie: same-site-cookie=foo; SameSite=Lax');
header('Set-Cookie: cross-site-cookie=bar; SameSite=None; Secure');
...