DÚVIDAS SIMPLES SOBRE COOKIES
Alterado em 08/01/2024 11:12:57
Bom dia,colegas!
Estou habituado, com aplicações Desktop e por
isso estou com dúvidas sobre algo especifico
de aplicações Web. Os "cookies".
Se algum colega, puder esclarecer fico grato.
1.) Os cookies, são criados, controlados, deletados,etc...
tudo pela linguagem de programação do BackEnd do site?
Ou uma parte , da gestão dos cookies é feito no Front End?
2.) Depois que o Cookie é armazenado na máquina do usuário, "Somente"
o site que criou aquele Cookie, consegue ler seu conteúdo, ou qualquer
outro site, que o usuário visitar, conseguirá ler o cookie???
Estou habituado, com aplicações Desktop e por
isso estou com dúvidas sobre algo especifico
de aplicações Web. Os "cookies".
Se algum colega, puder esclarecer fico grato.
1.) Os cookies, são criados, controlados, deletados,etc...
tudo pela linguagem de programação do BackEnd do site?
Ou uma parte , da gestão dos cookies é feito no Front End?
2.) Depois que o Cookie é armazenado na máquina do usuário, "Somente"
o site que criou aquele Cookie, consegue ler seu conteúdo, ou qualquer
outro site, que o usuário visitar, conseguirá ler o cookie???
Cookies são simplesmente pequenos pacotes de informação armazenados no client. Eles podem sim ser deletados e alterados no client. Cookies são "atrelados" à domínio portanto sites não podem alterar cookies de outros sites(mas não tenho muita certeza). O caso é, que o uso de cookies deve ser evitado, não é uma boa prática, especialmente para aplicações web.
Quem sabe você explica o que quer fazer e podemos oferecer uma alternativa?
Alterado em 09/01/2024 09:03:11
Cookies sempre podem ser vistos e alterados pelo usuário, dependendo do navegador pode ser necessário usar alguma extensão pra isso
Você pode proteger os cookies de serem acessados por outros sites ou por javascript, permitindo assim que somente o backend consiga ler ele, marcando ele com os atributos Secure, HttpOnly e SameSite=Strict
Secure faz com que os cookies só sejam enviados por conexão https, impedindo eles de serem interceptados no meio do caminho
HttpOnly faz com que não possam ser acessados por javascript, incluindo pelo seu próprio site, assim só o backend recebe os cookies para ler e alterar, porém o usuário ainda pode usar gerenciadores de cookies para ler e modificar esses cookies
SameSite=Strict faz com que os cookies só sejam enviados para o mesmo site que criou eles
No geral é seguro colocar informações que você quer que somente o backend possa acessar em cookies, desde que você criptografe esses dados corretamente, dessa forma mesmo que leiam os cookies não conseguem ler os dados e se modificarem eles o valor vai se tornar inválido
E um detalhe que acho importante ressaltar, as pessoas geralmente associam cookies como sendo ruins e devem ser evitados, porém o problema que existe com cookies são os "third parties", que são cookies criados por serviços externos para rastrear usuários, cookies ainda são uma das forma mais seguras de se manter informações no cliente desde que você use os 3 atributos que citei, mesmo se você pegar a lei europeia de cookies que fez com que sites começassem a pedir permissão diz que você pode usar cookies "first party" para sessão sem pedir consentimento, me parece que só precisa avisar que faz isso.
Você pode proteger os cookies de serem acessados por outros sites ou por javascript, permitindo assim que somente o backend consiga ler ele, marcando ele com os atributos Secure, HttpOnly e SameSite=Strict
Secure faz com que os cookies só sejam enviados por conexão https, impedindo eles de serem interceptados no meio do caminho
HttpOnly faz com que não possam ser acessados por javascript, incluindo pelo seu próprio site, assim só o backend recebe os cookies para ler e alterar, porém o usuário ainda pode usar gerenciadores de cookies para ler e modificar esses cookies
SameSite=Strict faz com que os cookies só sejam enviados para o mesmo site que criou eles
No geral é seguro colocar informações que você quer que somente o backend possa acessar em cookies, desde que você criptografe esses dados corretamente, dessa forma mesmo que leiam os cookies não conseguem ler os dados e se modificarem eles o valor vai se tornar inválido
E um detalhe que acho importante ressaltar, as pessoas geralmente associam cookies como sendo ruins e devem ser evitados, porém o problema que existe com cookies são os "third parties", que são cookies criados por serviços externos para rastrear usuários, cookies ainda são uma das forma mais seguras de se manter informações no cliente desde que você use os 3 atributos que citei, mesmo se você pegar a lei europeia de cookies que fez com que sites começassem a pedir permissão diz que você pode usar cookies "first party" para sessão sem pedir consentimento, me parece que só precisa avisar que faz isso.
Muito obrigado, pelas explicações.
Tópico encerrado , respostas não são mais permitidas