Marcelo, tem uma etapa intermediária nisso aí. Você "pode" armazenar na base de dados a senha criptografada com sha ou md5. O problema disso é que, se alguém capturar essa base de dados e tiver uma rainbow-table[1], pode descobrir as senhas rapidinho. Por isso, recomenda-se a utilização de uma função de salt[2] para criptografar a senha antes de usar uma função de hash como md5 ou sha. Assim, com uma função criptográfica específica para a sua aplicação, você dificulta a recuperação dessas senhas, ainda que o camarada tenha toda sua tabela de usuários.
Na hora de autenticar, você pega a senha informada pelo usuário que quer se autenticar, passa pro salt, utiliza o hash e compara com o valor armazenado no banco. Creio que esse seja o raciocínio do Simple_Auth que o Marcelo falou. O Modulo Auth do Kohana 3 inclui uma função de salt configurável. Não sei dizer das versões 2.x do Kohana. [1] http://en.wikipedia.org/wiki/Rainbow_table [2] http://en.wikipedia.org/wiki/Salt_%28cryptography%29 2010/1/15 Marcelo Preis Ferreira <[email protected]> > Olha só, não sei ao certo o que você esta usando! > > md5 / sha1 , mas é assim você mandar gravar codificado > "na base de dados" com um desses algoritimos! > > quando você recebe os dados do usuário, > você deve codificar, para dai comparar. > > praticamente é isto! pode ser que > as vezes voce tenha esquecido disso! > > > Ou talves o kohana não faça isso! > > 2010/1/15 Diego Viana <[email protected]> > >> O estanho é ninguém mais ter passado por esse problema, será que só eu >> uso o postgres? rsrs... >> >> Mas diz aí, como vcs fazem pra criptografar a senha do user na hora do >> cadastro? ? >> >> >> >> On 15 jan, 13:25, Marcelo Rodrigo <[email protected]> wrote: >> > Entra no site do Kohana e abra um chamado no dev.kohanaphp.com com o >> > possível bug e sua solução proposta. >> > Se você postar um DIFF do SVN os desenvolvedores agradecem. >> > >> > Atenciosamente, >> > >> > Marcelo Rodrigo >> > smartFocus Tecnologiahttp://www.smartfocus.com.br >> > Chat Google Talk: [email protected] Skype: mrodrigow MSN: >> > [email protected] >> > >> > 2010/1/15 Diego Viana <[email protected]> >> > >> > > Pessoal, eu fui passo a passo no modulo auth para ver onde ele estava >> > > gerando aquela consulta ridícula pelo id...rs... Cheguei no mardito... >> > > Ele estava consultado assim: >> > >> > > class Auth_ORM_Driver -> function login linha 86 >> > > $user = ORM::factory('user', $user); >> > >> > > mudei essa linha para; >> > > $user = ORM::factory('user')->where($this->config['username'], $user)- >> > > >find(); >> > >> > > aquele $config['username'], eu setei o campo da tabela que ele deve >> > > consultar no config do auth >> > >> > > Deu certo, parou de dar o erro, mas tive que mudar aqui tbm: >> > > class Auth_ORM_Driver -> function password linha 203 >> > > $user = ORM::factory('user', $user); >> > >> > > mudada essas linhas, não deu mais o erro dele consultar pelo id, não >> > > sei se é a solução mais adequada, mas funcionou, agora se é um bug na >> > > versão, sei lá, estou começando agora com o kohana e esta é a minha >> > > primeira aplicação usando ele...rsrs... >> > >> > > Agora um problema, o hash das senhas não batem, como eu faço para >> > > cadastrar um usuário com o hash certo, por exemplo, eu tive que >> > > imprimir o hash que o auth estava gerando ir lá na base de dados e >> > > alterar na mão pra logar, pq o hash não estava batendo com o hash que >> > > foi cadastrado... >> > >> > > Como vcs fazer para encriptar a senha na hora do cadastro do usuário? >> > >> > > On 15 jan, 11:20, Diego Viana <[email protected]> wrote: >> > > > Noossa, no postgres ainda continua o mesmo erro... >> > >> > > > Ocorreu um erro de banco de dados enquanto se processava o >> > > > procedimento requisitado. Por favor, revise o erro de banco de dados >> > > > abaixo para maiores informacões. >> > >> > > > >> C:/xampp/htdocs/teste_auth/system/libraries/drivers/Database/Pgsql.php >> > > > [342]: >> > >> > > > Houve um erro no seguinte comando SQL: ERRO: sintaxe de entrada é >> > > > inválida para integer: "dieglop" LINE 3: WHERE "users"."id" = >> > > > 'dieglop' ^ - SELECT "users".* FROM users WHERE "users"."id" = >> > > > 'dieglop' ORDER BY "users"."id" ASC LIMIT 1 OFFSET 0 >> > >> > > > On 15 jan, 11:11, Diego Viana <[email protected]> wrote: >> > >> > > > > Pessoal, eu simplesmente troquei todo o modulo auth e não deu mais >> o >> > > > > erro do mysql, mas não loga, mas acredito que seja algum problema >> de >> > > > > criptografia, não sei se estou fazendo certo, mas estou fazendo >> assim: >> > >> > > > > Eu limpo minha tabela user, e depois na hora de carregar a página >> eu >> > > > > faço um cadastro pra testar, assim: >> > >> > > > > $user = ORM::factory('user'); >> > >> > > > > $user->email = '[email protected]'; >> > > > > $user->username = 'dieglopviana'; >> > > > > $user->password = md5('senha'); >> > >> > > > > if ($user->add(ORM::factory('role', 'login')) AND $user->save()){ >> > >> > > > > echo 'Cadastrou'; >> > >> > > > > } else { >> > >> > > > > echo 'Não cadastrou'; >> > >> > > > > } >> > >> > > > > Depois eu mudo no config do auth o hash method para md5. >> > >> > > > > Está certo desta forma? >> > >> > > > > O erro que dá ao tentar logar é login failed; >> > >> > > > > if ($_POST){ >> > > > > $username = $this->input->post('username'); >> > > > > $password = $this->input->post('password'); >> > >> > > > > if (Auth::instance()->login($username, $password)){ >> > > > > echo 'login ok'; >> > > > > } else { >> > > > > echo 'login failed'; >> > > > > } >> > >> > > > > } >> > >> > > > > Tá quase...rsrs... depois preciso testar no postgres, pois minha >> > > > > aplicação está nele... >> > >> > > > > On 15 jan, 10:45, Diego Viana <[email protected]> wrote: >> > >> > > > > > Então Felipe, é estranho, pq no postgres ele chega a fazer a >> > > consulta, >> > > > > > o erro é que ele está tentando consultar o login do user no >> campo >> > > > > > id...rs, mas o model (ORM) funciona... >> > >> > > > > > Vou tentar pegar outra versão do kohana para testar... >> > >> > > > > > On 15 jan, 10:17, felipe moraes <[email protected]> wrote: >> > >> > > > > > > já estão definidas em outro arquivo .. >> > >> > > > > > > observe os arquivos que são loadados no php.ini .. >> > >> > > > > > > vc deve ter esquecido de fazer algum procedimento no plugin do >> > > kohana >> > >> > > > > > > algo como nome de tabela, nome dos campos, nome de arquivos >> > > inadequados, etc >> > >> > > > > > > ou pode ser um bug da versão que pegou >> > >> > > > > > > se fosse erro de módulo .. o Model nem funcionaria >> > >> > > -- >> > > Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana >> Php" >> > > dos Grupos do Google. >> > > Para postar neste grupo, envie um e-mail para >> [email protected]. >> > > Para cancelar a inscrição nesse grupo, envie um e-mail para >> > > >> [email protected]<kohana-php%[email protected]> >> <kohana-php%[email protected]<kohana-php%[email protected]> >> > >> > > . >> > > Para obter mais opções, visite esse grupo em >> > >http://groups.google.com/group/kohana-php?hl=pt-BR. >> >> -- >> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana >> Php" dos Grupos do Google. >> Para postar neste grupo, envie um e-mail para [email protected] >> . >> Para cancelar a inscrição nesse grupo, envie um e-mail para >> [email protected]<kohana-php%[email protected]> >> . >> >> Para obter mais opções, visite esse grupo em >> http://groups.google.com/group/kohana-php?hl=pt-BR. >> >> >> >> > > -- > Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" > dos Grupos do Google. > Para postar neste grupo, envie um e-mail para [email protected]. > Para cancelar a inscrição nesse grupo, envie um e-mail para > [email protected]<kohana-php%[email protected]> > . > Para obter mais opções, visite esse grupo em > http://groups.google.com/group/kohana-php?hl=pt-BR. > > -- Anderson Marques Ferraz UEFS - Engenharia de Computação - 2006.1 Linux user #500881 - http://counter.li.org/ I synchronize and I specialize and I classify so much/ Don't worry 'bout dreaming because I don't sleep--
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para [email protected].
Para cancelar a inscrição nesse grupo, envie um e-mail para [email protected].
Para obter mais opções, visite esse grupo em http://groups.google.com/group/kohana-php?hl=pt-BR.
