Какво представлява SameSite?
Атрибутът SameSite контролира дали бисквитките ще бъдат изпратени в заявки, които идват от друг домейн (например, връщане към сайта след пренасочване към платежен провайдър). Основните стойности са:
1 Lax: (по подразбиране в повечето браузъри): Бисквитките ще се изпращат само за навигация в същия сайт, но ще работят при връщане от външен домейн само за GET заявки.
2 Strict: Бисквитките се изпращат само за напълно съвпадащи домейни. Това прави сесиите недостъпни при връщане от платежни провайдъри.
3 None: Позволява бисквитките да се изпращат към различни домейни, но изисква HTTPS за сигурност.
Защо това е проблем?
1 Платежните провайдъри често работят на външни домейни: • Когато потребителят е пренасочен към сайта на провайдъра (напр. PayPal или друг gateway) и после се върне, сесията може да се загуби, защото браузърът не изпраща сесийната “бисквитка”, ако SameSite е Lax или Strict.
2 По подразбиране SameSite=Lax в PHP 7.3+: • От PHP 7.3 настройката session.cookie_samesite по подразбиране е Lax, което ограничава поведението на сесиите при кроссайт взаимодействия.
OpenCart 4 Settings