Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17547
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Falha de segurança ao usar SESSION

25-02-2011 22:58

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.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 11
Nome: Julio Jamil
Localização: para/belem/brasil
Contato:

Falha de segurança ao usar SESSION

29-02-2012 18:51

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!
0
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17547
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Falha de segurança ao usar SESSION

29-02-2012 19:45

Bem pensado. ;)
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado