Conceito e lógica do sistema de login?
Quero saber o processo que normalmente os aplicativos Web seguem para manter o login entre várias solicitações e também como eles gerenciam as coisas usando COOKIES.
No meu formulário de login, estou fornecendo o recurso "Lembrar-me".
Quando o login do usuário, eu verifico a validade do nome de usuário e senha do banco de dados. Se for válido, verifico se "Lembrar de mim" está selecionado; se sim, armazena o nome de usuário e a senha na sessão, no formato criptografado. E, finalmente, armazenando nome de usuário e senha em SESSION.
Quando o usuário navega de uma página para outra, primeiro eu executo o script de verificação de login que verifica se existe algum valor nos cookies e, em seguida, valida esse nome de usuário e senha do banco de dados, para verificar sua validade. Se não houver valor no cookie e houver algum valor na sessão, estou buscando o valor da sessão e não o verificando no db.
Não estou verificando o valor da sessão no formulário db para não bater no db desnecessariamente, acelerar as coisas. No caso de cookies, eles podem ser modificados, portanto, é necessário verificar.
Este é o meu conceito, certo? É o caminho a percorrer e, normalmente, o site diminui o SO, e outros trabalhos sobre esse tipo de método?
Ou os sites verificam a autenticidade do login em cada carregamento da página, não importa a sessão ou os cookies?
Por favor, verifique e dê seus pensamentos e conceitos para este cenário.
Obrigado!