--- title: SameSite cookies slug: Web/HTTP/Headers/Set-Cookie/SameSite tags: - Referências translation_of: Web/HTTP/Headers/Set-Cookie/SameSite ---
O atributo SameSite do {{HTTPHeader("Set-Cookie")}} . O cabeçalho de resposta HTTP permite que você declare se o seu cookie deve ser restrito a um contexto de primeira ou mesma parte.
The SameSite aceita três valores:
LaxOs cookies podem ser enviados com navegação de alto nível e serão enviados juntamente com a solicitação GET iniciada pelo site de terceiros. Este é o valor padrão nos navegadores modernos.
StrictOs cookies serão enviados apenas em um contexto de primeira parte e não serão enviados juntamente com solicitações iniciadas por sites de terceiros.
NoneCookies serão enviados em todos os contextos, ou seja, é permitido enviar origem cruzada.
None costumava ser o valor padrão, mas as versões recentes do navegador fizeram Lax o valor padrão para ter uma defesa razoavelmente robusta contra algumas classes de falsificação de solicitações entre sites ({{Glossary("CSRF")}}).
None requer o atributo Secure nas versões mais recentes do navegador. Veja abaixo para mais informações.
SameSite=None requer SecureO aviso a seguir pode aparecer no seu console:
Alguns cookies estão usando mal o atributo "sameSite", então não funcionará como esperado.
Cookie "myCookie" rejeitado porque tem o atributo "sameSite=none", mas está perdendo o atributo "seguro".
O aviso aparece porque qualquer cookie que solicitar SameSite=None mas não está marcado Secure será rejeitado.
Set-Cookie: flavor=choco; SameSite=None
Para corrigir isso, você terá que adicionar o atributo Secure aos seus cookies SameSite=None.
Set-Cookie: flavor=choco; SameSite=None; Secure
Um cookie Secure só é enviado ao servidor com uma solicitação criptografada sobre o protocolo HTTPS. Observe que sites inseguros (http:) não pode definir cookies com a diretiva Secure.
SameSite para SameSite=LaxVersões recentes de navegadores modernos fornecem um padrão mais seguro para SameSite para seus cookies e assim a seguinte mensagem pode aparecer no seu console:
Alguns cookies estão usando mal o atributo "sameSite", então não funcionará como esperado.
Cookie "myCookie" tem a política "sameSite" definida como "frouxa" porque está faltando um atributo "sameSite" e "sameSite=lax" é o valor padrão para este atributo.
O aviso aparece porque a política SameSite para um cookie não especificou explicitamente:
Set-Cookie: flavor=choco
Embora você possa confiar em navegadores modernos para aplicar SameSite=Lax automaticamente, você deve sim especificá-lo explicitamente para comunicar claramente sua intenção que SameSite política se aplica ao seu cookie. Isso também melhorará a experiência entre os navegadores, pois nem todos eles são padrão para Lax ainda.
Set-Cookie: flavor=choco; SameSite=Lax
RewriteEngine on
RewriteBase "/"
RewriteCond "%{HTTP_HOST}" "^example\.org$" [NC]
RewriteRule "^(.*)" "https://www.example.org/index.html" [R=301,L,QSA]
RewriteRule "^(.*)\.ht$" "index.php?nav=$1 [NC,L,QSA,CO=RewriteRule:01:https://www.example.org:30/:SameSite=None:Secure]
RewriteRule "^(.*)\.htm$" "index.php?nav=$1 [NC,L,QSA,CO=RewriteRule:02:https://www.example.org:30/:SameSite=None:Secure]
RewriteRule "^(.*)\.html$" "index.php?nav=$1 [NC,L,QSA,CO=RewriteRule:03:https://www.example.org:30/:SameSite=None:Secure]
[...]
RewriteRule "^admin/(.*)\.html$" "admin/index.php?nav=$1 [NC,L,QSA,CO=RewriteRule:09:https://www.example.org:30/:SameSite=Strict:Secure]
| Specification | Title |
|---|---|
| {{RFC("6265", "Set-Cookie", "4.1")}} | Mecanismo de gestão do estado HTTP |
| draft-ietf-httpbis-rfc6265bis-05 | Cookie Prefixes, Same-Site Cookies, e Strict Secure Cookies |
{{Compat("http.headers.Set-Cookie", 5)}}