Ir para o conteúdo

 Voltar a (WI) Geral -...
Tela cheia

Como fazer um login usando o MD5?

10 de Agosto de 2010, 15:56 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 568 vezes

Boa tarde pessoal, ainda estou aprendendo por meio de materiais na internet como desenvolver utilizando o wi3, gostaria de contar com a ajuda de vocês, não encontrei nada na net a respeito disto acho que poderia até ajudar outras pessoas.

O problema é o seguinte, tenho um projeto e gostaria de aplicar um sistema de login, utilizando o md5, até o momento segui todos os materiais e o máximo que consegui fazer, foi criar um sistema que valida o login mas, sem utilizar nenhum tipo de criptografia. percebi no "Ajuda do WI3" que tem uma função |$md5(<valor>)$|

se alguém puder me ajudar como utilizo essa função?  ou se existe outra maneira de grava no banco a senha do usuário em md5 e validar a mesma pelo sistema de login do wi3 (marcando a opção do ativar md5).

 

Obrigado!

 Diego Vieira


Autor: Diego Vieira


1414 comentários

  • 7922a923e46003d825d8be6ba612be0b?only path=false&size=50&d=404Geraldo Moraes(usuário não autenticado)
    11 de Agosto de 2010, 15:38

     

    Segue um passo a passo:
    - crie um projeto chamado login_teste- crie uma pagina principal e desmarque seguranca ativa- crie uma pagina login- crie um pagina senha- crie a conexao com seu bd (no meu teste mysql)- va em projeto e marque a opcao ativar login, usar md5, selecione seu bd, coloque em   pagina inicial login e grave- va na pagina login e chame o wizard e em acao do form escolha principal- va na pagina senha e chame o wizard e marque altera senha e escolha principal- va na definição do login e ajuste o sql para o correto (no help explica como deve ser para md5)ex: select senha_md5, codigo, nome  from usuario where login = ?|tmp.user|- Pronto agora eh so chamar principal.wsp que por nao estar logado vai remeter ao login, e quando locar corretovai para o principal
    Para o alterar senha funcionar vc precisa editar os codigos comentados no pos-pagina de senha
    Espero que ajude
     

    • 9e586f57d58c65352ca410a756e8571c?only path=false&size=50&d=404Diego Vieira(usuário não autenticado)
      12 de Agosto de 2010, 15:56

       

      Muito obrigado pela ajuda Geraldo!

      a princípio tive dificuldades, não sei ao certo se fiz da maneira certa, coloquei no select da parte de "Login" a seguinte query

      SELECT
       funcionario.matricula, funcionario.login, funcionario.senha
      FROM funcionario
      WHERE (funcionario.login = ?|tmp.user|)
       AND (funcionario.senha = md5(?|tmp.pass|))

      deu certo, sendo que no banco eu coloquei a senha dele como md5(123) equivalente a 202cb962ac59075b964b07152d234b70

      com isso consegui validar o usuário de acordo com o hash da senha dele.

      agora a parte de trocar os query da pos-página que nao entendi muito bem... tentei modificar os insert e update colocando no lugar do tmp.pass, md5(?|tmp.pass|)) para que a mesma seja armazenada no banco em md5... mas não funcionou, está certo o jeito que eu usei o md5? 

      • 9cb87a6fd0ed265eb3f973e65d055686?only path=false&size=50&d=404Marciel Ferreira(usuário não autenticado)
        12 de Agosto de 2010, 16:09

         

        Prezado Diego,seguem duas notificações:1 - por questão de segurança, faça a criptografia md5 antes do submit, pois dessa forma você está passando a senha aberta pela rede, aí não teria muito sentido você criptografar ela para compara com a que está no banco. Dica, faça por meio de um javascript e depois submit!2 - no select, o primeiro campo deve ser a senha, conforme ajuda do WI.  Parabéns pelo tutorial Geraldo! 

        • 9e586f57d58c65352ca410a756e8571c?only path=false&size=50&d=404Diego Vieira(usuário não autenticado)
          13 de Agosto de 2010, 9:58

           

          Obrigado pela ajuda Marciel,

          Pois é eu não estou conseguindo fazer com que o WI quando o usuário digitar sua senha passe ela já criptografada para a validação com o conteúdo do banco, consegui validar da maneira que falei, passando o md5(123) ou seja a senha trafega pela rede sem ser criptografada. Tem a função |$md5(<valor>)$| que segundo o tutorial retorna um hash md5 de um valor digitado, cheguei a colocar essa função no valor do campo Senha (wizard da login.wsp) |$md5(<tmp.pass>)$| mais não funcionou, ele apenas zerou os campos de login e senha quando rodei a página.

          se um de vocês puder me ajudar, Geraldo, segui seu passo a passo, mais não conseguindo fazer o negócio funcionar...

          Obrigado pela ajuda pessoal!

           Diego Vieira

           

          • 9cb87a6fd0ed265eb3f973e65d055686?only path=false&size=50&d=404Marciel Ferreira(usuário não autenticado)
            13 de Agosto de 2010, 10:33

             

            Vamos lá Diego, coloque o javascript na sua página e faça as devidas referências http://membres-liglab.imag.fr/donsez/cours/exemplescourstechnoweb/js_securehash/md5src.html crie um botão tipo "button" e no onClick="submitForm()" na função do submitForm faça o seu campo de senha receber o seguinte valor calcMD5(camposenha); depois disso submit seu form! A senha vai trafegar já codificada! Att. Marciel Ferreira 

      • 7922a923e46003d825d8be6ba612be0b?only path=false&size=50&d=404Geraldo Moraes(usuário não autenticado)
        13 de Agosto de 2010, 11:16

         

        Oi Diego,

        Tente seguir o passo a passo para que saia tudo certo.

        Seguindo o exemplo o WI ira gerar uma pagina de login que trafega a senha criptografa md5 com um token dando o maximo de segurança, pois mesmo se uma mensagem for interceptada e não será válida em outra requisição.

        Segue um passo a passo:

        - crie um projeto chamado login_teste (opcional)
        - crie uma pagina principal e desmarque seguranca ativa (Será a pagina principal do sistema logado. Se o usuario nao estiver logado nao deve ter acesso a essa pagina)
        - crie uma pagina login
        - crie um pagina senha
        - crie a conexao com seu bd (no meu teste mysql)
        - va em projeto e marque a opcao ativar login, usar md5, selecione seu bd, coloque em
          pagina inicial login e grave (faça apenas isso)
        - va na pagina login e chame o wizard e em acao do form escolha principal (o wizard ira gerar uma pagina prontinha com md5 para funcionar que depois se vc desejar podera alterar)
        - va na pagina senha e chame o wizard e marque altera senha e escolha principal (serve para criar uma pagina que permite que o usaurio logado altere sua senha)
        - va na definição do login e ajuste o sql para o correto (no help explica como deve ser para md5)(quando o login eh md5 o primeiro campo obrigatoriamente deve ser a senha que esta no banco guardada em md5)
        ex: select senha_md5, codigo, nome  from usuario where login = ?|tmp.user|
        - Pronto agora eh so chamar principal.wsp que por nao estar logado vai remeter ao login, e quando logar correto vai para o principal

        Para o alterar senha funcionar vc precisa editar os codigos comentados no pos-pagina de senha (Esqueca a pagina de alterar senha por enquanto)

        Se vc analisar o  fonte de login vc vera que o submit faz algumas operaçoes em js para cuirptografar o md5 de forma automatica.

         Espero que ajude

        • 7922a923e46003d825d8be6ba612be0b?only path=false&size=50&d=404Geraldo Moraes(usuário não autenticado)
          13 de Agosto de 2010, 11:18

           

          Não sei a versão wi que vc esta usando entao sempre que chamar o wizard clique no botao salvar propriedades para ele salvar e gerar o jsp. Nas versões incognita isso ja foi corrigido.

          • 9e586f57d58c65352ca410a756e8571c?only path=false&size=50&d=404Diego Vieira(usuário não autenticado)
            16 de Agosto de 2010, 10:26

             

            Marciel Ferreira obrigado pela atenção e ajuda! Geraldo, obrigado mais uma vez pela atenção e me ajudar também, deu certo o passo a passo que o Geraldo passou, baixei a versão 3.3.12 da icognita, estava com a versão antiga instalada aqui!

             

            Diego Vieira

            • D853d163f18cb77cc79b97ff7a1f0e52?only path=false&size=50&d=404Marcio Roberio(usuário não autenticado)
              24 de Agosto de 2010, 11:19

               

              Oi,

              Consegui fazer a tela de login. O problema agora é fazer o "Sair".

               Alguém pode me dar uma orientação sobre como fazer o "Sair" do sistema?

               

              Obrigado!

              • 9cb87a6fd0ed265eb3f973e65d055686?only path=false&size=50&d=404Marciel Ferreira(usuário não autenticado)
                24 de Agosto de 2010, 11:30

                 

                Marcio,crie um botão (ou imagem) para redirecionar para página de login, no pré-pagina de login, crie um componente apagar e coloque as variáveis tmp.* e pvt.*, pronto tá feito o logout do seu sistema. Att. Marciel Ferreira 

                • D853d163f18cb77cc79b97ff7a1f0e52?only path=false&size=50&d=404Marcio Roberio(usuário não autenticado)
                  26 de Agosto de 2010, 9:05

                   

                  Obrigado!

                   

                  Surgiu agora mais uma dúvida:

                  Como eu crio uma variável na sessão, atribuindo-lhe um valor? Essa variável será incrementada (na sessão) a cada vez que um usuário acessa uma determinada página.

                   

                  abs,
                  Robério.

                  • 9cb87a6fd0ed265eb3f973e65d055686?only path=false&size=50&d=404Marciel Ferreira(usuário não autenticado)
                    26 de Agosto de 2010, 9:56

                     

                    Para criar uma variável na sessão é só criar no pré-página uma pvt.nomedavariavel e atribuir algum valor. Para incrementar, talvez exista um modo mais fácil,  mas dá pra colocar no pré-página de cada página uma função eval (via Ajuda WI) para somar a variável, ou então |pvt.nomedavariavel| + 1 acho q também dá certo.

                    • D853d163f18cb77cc79b97ff7a1f0e52?only path=false&size=50&d=404Marcio Roberio(usuário não autenticado)
                      26 de Agosto de 2010, 12:35

                       

                      Oi,

                      Obrigado pela ajuda.

                      Consegui de outra forma. Achei interessanta postá-la, pois pode ajudar outras pessoas com o mesmo problema:

                      Na pré-página, foi criado um elemento GRAVAR
                      Foi inserida a condição abaixo, que identifica se o código do usuário é diferente de nulo (o usuário está logado?)
                      |pvt.login.cod_usuario|!=
                      Foi configurado o objeto "dentro" da sessão:
                      pvt.log
                      Se a condição for verdadeira. foi inserido o valor abaixo, que chama a função eval citada pelo nosso amigo Marciel. Essa função incrementa o objeto pvt.log com 1 unidade:
                      |$eval(|pvt.log|+1)$|
                      Depois de salvar as alterações, lá em EDITAR HTML foi incluída a seguinte linha:
                      pvt.log = |pvt.log| <br>

    • 5f5f805102e15d0ce36a6c48b24f440a?only path=false&size=50&d=404Wesley Aragão Cruz(usuário não autenticado)
      24 de Dezembro de 2012, 14:38

       

      Geraldo,

       Não estou conseguindo "ajustar" a página de alterar senha. Ela foi gerada corretamente, mas não estou sabendo o que exatamente mudar e o que exatamente colocar no código gerado. Você poderia me ajudar? Ou mais alguém?

       Grato pela atenção.

      Wesley. 

Essa comunidade não possui posts nesse blog