Estou tentando entender cookies e sessões profissionalmente. Eu sei que quando um navegador se conecta a um servidor, o servidor "pede" ao navegador para "colar" um cookie com "phpsessid" na pasta de cookies do navegador do cliente.
Agora que temos o "phpsessid", se o cliente entra no servidor, o navegador envia ao servidor o "phpsessid" e o servidor dá uma olhada na pasta tmp e se houver uma correspondência, ele carrega de volta todos os dados que o usuário possui este cliente, mas estou meio confuso com o processo.
Ficarei grato se alguém puder me ajudar a entender esses processos de criação de uma sessão e cookies - o que está acontecendo nos bastidores.
javascript
php
session
cookies
Texto em Branco
fonte
fonte
Respostas:
Vamos examinar isso:
Cookies e sessões são formas de preservar o estado do aplicativo entre as diferentes solicitações feitas pelo navegador. É graças a eles que, por exemplo, você não precisa fazer login toda vez que solicitar uma página no StackOverflow .
Biscoitos
Cookies são pequenos bits de dados, (máximo de 4 KB), que contêm dados em pares chave = valor:
name=value; name2=value2
Eles são definidos por JavaScript ou por meio do servidor usando um cabeçalho HTTP .
Os cookies têm uma data e hora de validade definida, por exemplo, usando cabeçalhos HTTP:
Set-Cookie: name2=value2; Expires=Wed, 19 Jun 2021 10:18:14 GMT
O que faria com que o navegador definisse um cookie nomeado
name2
com um valor devalue2
, que expiraria em cerca de 9 anos.Os cookies são considerados altamente inseguros porque o usuário pode facilmente manipular seu conteúdo. É por isso que você deve sempre validar os dados do cookie . Não presuma que o que você obtém de um cookie é necessariamente o que você espera.
Os cookies geralmente são usados para preservar o estado de login, onde um nome de usuário e um hash especial são enviados do navegador e o servidor os verifica no banco de dados para aprovar o acesso.
Os cookies também são frequentemente usados na criação de sessões .
Sessões
As sessões são ligeiramente diferentes. Cada usuário recebe um ID de sessão , que é enviado de volta ao servidor para validação por cookie ou por variável GET .
As sessões geralmente têm curta duração, o que as torna ideais para salvar o estado temporário entre aplicativos. As sessões também expiram quando o usuário fecha o navegador.
As sessões são consideradas mais seguras do que os cookies porque as próprias variáveis são mantidas no servidor . Funciona assim:
$_SESSION
superglobal.Se o PHP não encontrar uma correspondência, ele iniciará uma nova sessão e repetirá os passos de 1-7.
Você pode armazenar informações confidenciais em uma sessão porque elas são mantidas no servidor, mas esteja ciente de que o ID da sessão ainda pode ser roubado se o usuário, digamos, estiver conectado em um WiFi inseguro. (Um invasor pode farejar os cookies e defini-los como seus próprios; ele não verá as variáveis por si só, mas o servidor identificará o invasor como o usuário).
Essa é a essência disso. Você pode aprender mais no manual do PHP em ambos os assuntos.
fonte
hello.php?sid=cbe709ac7bed98f7ecb89713
)