Blabos,<br><br><div class="gmail_quote">2010/1/31 Blabos de Blebe <span dir="ltr">&lt;<a href="mailto:blabos@gmail.com">blabos@gmail.com</a>&gt;</span><br>[...]<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<br>
b) Fale do problema que você está tentando resolver.<br></blockquote><div><br>Na verdade ele já falou. Veja:<br> <br>[...]<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div><div class="h5">&gt;<br>
&gt;   Estas senhas ( hash criptografado) deveram ser tratadas como texto puro<br>
&gt; para comparação ? Haveria uma maneira melhor de fazer isto ? Qual a vantagem<br>
&gt; de criptografar, a nao ser manter ilegivel no banco.<br></div></div></blockquote><div><br>Ricardo, use as palavras corretas para as coisas: hash não é criptografia, então quando você diz &quot;hash criptografado&quot;, os trolls da lista ficam nervosos e com vontade de bater em você. As respostas são, na ordem:<br>

<br>Sim, como texto puro.<br>Não que eu saiba.<br>(vantagem de fazer hash, não criptografar): nenhuma, mas essa vantagem é muito importante.<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div><div class="h5">
&gt;<br>
&gt;   Hoje quando faço uma aplicação, faço assim, mas queria melhorar<br>
&gt;<br>
&gt;   1 -Usuário se loga<br>
&gt;   2 - Recebe user e senha<br>
&gt;   3 - Grava cookie com user e senha no browser para expirar ao de<br>
&gt; desconectar ou fechar o navegador..<br>
&gt;           (se nao grava cookie, não loga e retorna direto, se javascript<br>
&gt; desabilitado retorna direto, o que grava o cookie é a funcao cookie do CGI)<br>
&gt;           (quando gravo o cookie, gravo nele uma idetificação gerada<br>
&gt; aleatoriamente, pelo perl usando data,hora,ip e a função rand e mantenho<br>
&gt; este dado em uma             tabela  temporaria para verificar se o cookie<br>
&gt; nao foi &quot;plantado&quot;)<br></div></div></blockquote><div><br>Por favor me diga que eu li errado e que você não está transmitindo a senha do usuário, em cleartext, de volta, pelo cookie.<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div><div class="h5">
&gt;<br>
&gt;   4 - Redireciona para pagina de verificação<br>
&gt;   5 - Recupera cookie com user e senha e grava em uma variavel<br>
&gt;   6 - Recupera identificação.<br>
&gt;   7 - Seleciona user e senha no banco<br>
&gt;   ai<br>
&gt;   8 - se senha_cookie e user_cookie == user_selecionado e senha_selecionado<br>
&gt; {<br>
&gt;                   se (identificação_cookie==identificação_temporaria) {<br>
&gt;                       logado<br>
&gt;               }<br>
&gt;   senao {<br>
&gt;   retorna<br>
&gt; }<br>
&gt;<br>
&gt; O usuário só interage no item 1<br>
&gt;<br>
&gt; Pergunto isto porque vejo muito sobre criptografia / session  e cookie. E<br>
&gt; queria a opnião de pessoas mais experientes sobre o assunto. estou fazendo<br>
&gt; correto, da para melhorar.. com certeza sempre tem uma forma diferente de<br>
&gt; ser fazer a mesma coisa em perl. e particularment eu tentei usar session, e<br>
&gt; apanhei um pouco. :-)<br></div></div></blockquote><div><br>A melhor forma é fazer assim: quando neguinho se loga, você pega essas informações tipo user, ip, data, hora (Não é preciso, nem recomendável colocar a senha aqui), e gera um hash desse bolôlô todo. Esse hash, junto com essas informações, você guarda, temporariamente, numa tabela de dados, coloca um timestamp e a cada minuto você percorre a tabela e remove os caras que ficaram velhos demais (tipo, mais que 30 minutos, ou mais que 5, dependendo de quanto é o timeout de sessão da sua aplicação). Esse hash você manda no cookie de volta. Toda vez que o neguinho mandar requisição, se ele tiver o cookie com o hash, você faz o teste pra ver se é um hash que existe de fato na sua tabela. Se não existir, é fake - chuta o cara até cuspir sangue no chão. Se existir, você atualiza o timestamp na tabela e segue a vida.<br>

<br><br>[]s,<br></div></div>-- <br>Alexei Znamensky [russoz_gmail_com] [<a href="http://russoz.wordpress.com">russoz.wordpress.com</a>] [<a href="http://www.flickr.com/photos/alexeiz">www.flickr.com/photos/alexeiz</a>]<br>

&quot;Though we live in trying times, we&#39;re the ones who have to try&quot;<br>