Iremos concluir nesta terceira parte a nossa trilogia de artigos de programação segura. Vamos começar por explicar a parte final do nosso conjunto de regras. A última regra de que falámos foi a de autenticação e autorização, iremos agora prosseguir para a regra de Gestão de sessões.
Regra 4 – Gestão de sessões
Quando um utilizador liga a sua aplicação, esta pode pedir credenciais ao utilizador. Se um utilizador conseguir autenticar-se com sucesso, este não espera ter de voltar a inserir as suas credenciais outra vez, a não ser que acabe o tempo de login permitido e a sua sessão expire ou que estejam a tentar executar uma acção privilegiada. Gerência de sessões permite que a sua aplicação autentique um utilizador mas também que garanta que o utilizador a efectuar as acções é o utilizador que se autenticou usando as credenciais originais. Para um atacante, quaisquer falhas na camada de gerência de sessões serve como uma maneira fácil de ultrapassar o trabalho árduo que colocamos nas regras anteriores.
Os ataques contra sessões são normalmente focados na obtenção de uma sessão válida, abusando dos utilizadores, ou tirando vantagem de falhas da funcionalidade da camada de gerência de sessões. O conhecimento dos métodos usados pelos atacantes não é obrigatório se criarmos sessões seguras baseadas nesta regra.
[...]