РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
516 of 1361 menu

Метод withSameSite

Метод withSameSite класса Cookie создаёт новый объект cookie с изменённым атрибутом SameSite. Этот атрибут определяет, будет ли cookie отправляться при межсайтовых запросах. Первым параметром передаётся значение атрибута SameSite: 'lax', 'strict' или 'none'.

Метод не изменяет исходный объект, а возвращает его копию с новым значением. Это позволяет строить цепочки вызовов для последовательной настройки cookie.

Синтаксис

public function withSameSite(?string $sameSite): static

Пример

Давайте создадим cookie и установим атрибут SameSite в значение 'lax':

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Cookie; use Symfony\Component\HttpFoundation\Response; class CookieController extends AbstractController { public function index(): Response { $cookie = Cookie::create('token') ->withValue('abcde') ->withSameSite('lax'); $res = $cookie->getSameSite(); return new Response($res); } } ?>

Результат выполнения кода:

"lax"

Пример

Давайте установим атрибут SameSite в значение 'strict':

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Cookie; use Symfony\Component\HttpFoundation\Response; class CookieController extends AbstractController { public function index(): Response { $cookie = Cookie::create('session') ->withValue('user') ->withSameSite('strict'); $res = $cookie->getSameSite(); return new Response($res); } } ?>

Результат выполнения кода:

"strict"

Пример

Давайте установим атрибут SameSite в значение 'none'. Обратите внимание, что для 'none' cookie должен быть помечен как Secure:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Cookie; use Symfony\Component\HttpFoundation\Response; class CookieController extends AbstractController { public function index(): Response { $cookie = Cookie::create('token') ->withValue('abcde') ->withSecure(true) ->withSameSite('none'); $res = $cookie->getSameSite(); return new Response($res); } } ?>

Результат выполнения кода:

"none"

Смотрите также

  • класс Cookie,
    который представляет объект cookie
  • метод create,
    который создаёт новый экземпляр cookie
  • метод withSecure,
    который управляет атрибутом Secure
  • метод withHttpOnly,
    который управляет атрибутом HttpOnly
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить