zetto33 0 Denunciar post Postado Janeiro 2, 2009 [RESOLVIDO] Olá, gostaria de saber se alguem tem alguma idéia de como proteger os dados contidos em um cookie, consultando o artigo: http://www.13dots.com/forum/index.php?showtopic=16156 verifiquei uma solução de alterar a string, password p.ex., por meio do md5(), porém como cruzarei os dados com o que consta no db? Por mais que cadastre os dados no db já com o md5, então não existiria muita segurança, uma vez que o password que consta no db seria o do md5, exposto no cookie. Alguém tem idéia de uma forma mais segura? Aproveitando, gostaria de saber se teriam alguma sugestão boa para acessar o db por grupo de usuários? Vlw! Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Janeiro 2, 2009 Você está equivocado. O usuário não digitaria sua senha já em MD5-Hash,seu script faria isso por ele. Se ele digitasse a senha dele em MD5-Hash,seria gerada outra hash e essa não 'bateria' com a existente em seu banco de dados (a digitada). Veja: <?php function checaPw($pw, $pass){ echo nl2br("\n"), str_repeat('-', 40) , nl2br("\n"), 'Pass:', $pass, nl2br("\n"), 'MD5-Hash pass:', $mhp =& md5($pass), nl2br("\n"), 'Pw:', $pw, nl2br("\n"), 'MD5-Hash pw:', $mhpw =& md5($pw), nl2br("\n"); if($mhp == $mhpw) echo 'Senhas iguais'; else echo 'Senhas diferentes'; } checaPw('password', 'password'); //Senhas iguais checaPw(md5('password'), 'password'); //Senhas diferentes ?> A insegurança de MD5-Hashes colocadas em cookie...é a de um usuario mal intencionado a pegar e com algum dos 'cracks' existentes na net,a 'quebrar'. Sugiro que use sha1,ou outros algoritmos de criptografia mais eficientes (sha256 [implementavel]). Dá uma procurada sobre isso que com certeza achará muito material. Edit:exemplo horrendo em... Compartilhar este post Link para o post Compartilhar em outros sites
zetto33 0 Denunciar post Postado Janeiro 2, 2009 boa, vlw! Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Janeiro 2, 2009 A...e também é preferivel armazenar dados 'sensiveis' em sessões ao invés de cookies. Compartilhar este post Link para o post Compartilhar em outros sites
zetto33 0 Denunciar post Postado Janeiro 2, 2009 andei testando de diversas formas, mas não rola: senha: 12345678 = e9a0ed06126ec8f303ac6a969bb9156ae1f2b3af5525228ea7121addf9c8fb58 senha: 87654321 = e9a0ed06126ec8f303ac6a969bb9156ae1f2b3af5525228ea7121addf9c8fb58 qq senha de 8 caracteres fica redundante.... Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Janeiro 2, 2009 Não entendi sua colocação,e nem do que se trata. Compartilhar este post Link para o post Compartilhar em outros sites
zetto33 0 Denunciar post Postado Janeiro 2, 2009 Para inserir no db fiz assim: include "_.php"; $username = $_POST["username"]; $password = hash('sha256','$_POST["password"]'); $sql = "INSERT INTO login (username, password) VALUES ('$username', '$password')"; $resultado = mysql_query($sql) Pra consultar os dados: include "_.php"; $username = $_POST["username"]; $password = hash('sha256','$_POST["password"]'); $reg = mysql_query("SELECT * FROM login WHERE username='$username' AND password='$password'"); $total_reg = mysql_num_rows($reg); if($total_reg==0){ echo "Usuário ou Senha incorreto(s)"; } else { setcookie("username", $username, time()+3600); setcookie("password", $password, time()+3600); header ("Location: inicio.php"); } Mas não importa o que insira, o valor será sempre igual a " e9a0ed06126ec8f303ac6a969bb9156ae1f2b3af5525228ea7121addf9c8fb58 " então fica redudante.... Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Janeiro 2, 2009 Estranho.Relativo a isso,não sei/não tenho como te ajudar. Aqui as hashs geradas são diferentes. Se a sha256 não está funcionando,é preferivel usar sha1 a md5. E é legal você seguir o conselho do meu segundo post,você não vai ter que se preocupar com isso (existirão outras preocupações :x). Olha: <?php echo hash('sha256', '87654321'), nl2br("\n"), hash('sha256', '12345678'); ?> Output: e24df920078c3dd4e7e8d2442f00e5c9ab2a231bb3918d65cc50906e49ecaef4 ef797c8118f02dfb649607dd5d3f8c7623048c9c063d532cc95c5ed7a898a64f Compartilhar este post Link para o post Compartilhar em outros sites
zetto33 0 Denunciar post Postado Março 1, 2009 A seguinte linha estava errada, tinha colocado, equivocadamente, aspas na variável: $password = hash('sha256', $_POST["password"]); Compartilhar este post Link para o post Compartilhar em outros sites