Eu to desenvolvendo um sistema que só deve ser acessado por usuários autênticos. Minha ideia inicial é que assim que o usuário se logar armazenar uma string na sessão contendo informações que digam qual usuário está logado, essa string é uma concatenação do nome do usuário e da senha devidamente criptografados para que eu cheque no banco de dados a consistência desses dados sempre que uma pagina restrita for requisitada.
Mas ai eu ponho em cheque os seguintes pontos:
- Segurança dos dados usuário: por que armazenar a senha do usuário arbitrariamente é meio incerto. Mesmo levando em consideração que o que eu vou estar armazenando é uma senha convertida em hash md5, ou seja não passa pelo form de login, por que ai seria uma hash de outra hash e não da senha, e ela ser concatenada com outra informação e juntas criptografadas.
- Desempenho: Fazer uma consulta no banco sempre que uma página for aberta pode ocasionar perca de desempenho.
Se eu armazenar só o id, nome de usuário e uma url na sessão, não deixaria o sistema vulnerável? Mesmo levando em consideração que essas informações estariam criptografadas e por isso passariam por um teste de consistência (Que levanta outra questão, qual seria este teste? Banco de dados? Me levaria novamente ao desempenho)?
Edição feita por: paulonasc, 10/06/2012, 13:26.