Esse área é só para dicas de segurança de códigos fonte, pastas, etc...
Moderador: web
por web Offline » Sex Fev 25, 2011 11:58 pm
|
Vou dar uma dica aqui para quem usar SESSION para não deixar uma brecha para invasão.
Muita gente faz o seguinte, cria um sistema, ai, quando o usuário faz o login e está tudo ok, é criado uma SESSION com um valor para comparar com o banco de dados MySQL. Ai é que está o problema.
Porque muita gente coloca um valor banal, tipo o email, ex.:
$_SESSION['email'] = "$email";
Ai no MySQL tem
SELECT * FROM tabela WHERE email='".$_SESSION['email']."'
Isso é uma falha, porque? Se a pessoa conhece algum email cadastrado no seu bd, pode simplesmente criar uma SESSION localmente, e depois acessar uma página protegida do seu site. Como é simplesmente comparado o email da SESSION com uma coluna, o email existindo no bd, vai dar acesso para o invasor entrar.
Qual a solução?
Uma solução seria criar 2 SESSIONS logo depois que o usuário fizer o login correto, um para o login ou email e um para a senha dele "de preferência criptografada".
Com isso, a permissão de acesso ao bd passa a depender de 2 valores, login e senha armazenados na SESSION. =] Como a senha da SESSION está criptografada, vai ficar bem difícil alguém conseguir saber a senha original para aquele login para tentar usar no acesso.

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.
Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com
web
ADMIN
Mensagens: 12425
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil
|
por jamilservicos Offline » Qua Fev 29, 2012 7:51 pm
outra forma basica sem por senha em session ou cookie, seria salvar os dados da session em banco de dados com expire! então mesmo que alguem roube uma session valida a mesmo seria validada com a salva no banco! outra dica é na session incluir o navergador + ip em uma variavel da session!
Eu costumo colocar um validação de tempo nas minhas sessions! se ficar sem atividade por um certo tempo, ela expira forçando o usuario relogar! Assim também serve de segurança para quem usa de cybers e esquece a janela aberta porque o computador travou! dando assim a chance de quem usar depois continuar na session aberta!

jamilservicos
MEMBRO
Mensagens: 11
Registrado em: Dom Jan 20, 2008 5:45 pm
Localização: para/belem/brasil
|
por web Offline » Qua Fev 29, 2012 8:45 pm
Bem pensado.

Gostou do que encontrou? Divulgue, indique, participe, agradeça pelas respostas.
Faço scripts personalizados ou reparos em scripts. Orçamento MSN codigosnaweb1 [@] gmail [.] com
web
ADMIN
Mensagens: 12425
Registrado em: Sáb Jan 20, 2007 6:08 pm
Localização: RJ / RJ / Brasil
|
Voltar para Dicas de segurança
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante
|
|
|