1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[VB6] Login seguro

Discussão em 'Programação' iniciada por WinAce_Boy, 19 de Abril de 2007. (Respostas: 23; Visualizações: 1492)

  1. WinAce_Boy

    WinAce_Boy Power Member

    Alguem sabe como tornar um login seguro?
    Uma das maneiras de fazer um login que eu sei(as outras maneiras andam la perto..) é a seguinte:

    Private Sub cmdok_Click()

    If txtnome = "maria" And txtpassword = "pass" Then
    MsgBox "Aceite"
    umaformqualquer.Visible = True '/ umaformqualquer.Show
    Else: MsgBox "Rejeitado"
    End If

    End Sub

    Se alguém souber de uma forma de tornar mais seguro o código(sem que o exesplorer e outros consiguam fazer das deles..lol), p.f. digam.. ;)

    Obrigadão pela atenção
    Abraços people :)
     
  2. SoundSurfer

    SoundSurfer Power Member

    Podes começar por incluir um algorítmo de hashing.
     
  3. WinAce_Boy

    WinAce_Boy Power Member

    Como utilizo isso?
    Podes ser mais específico por favor?
    Agradeço
     
    Última edição: 19 de Abril de 2007
  4. HecKel

    HecKel The WORM

    Boas!

    Antes de mais, da forma como tens isso a password é fixa, o utilizador nunca a pode alterar..., portanto se for descoberta..., ele já não pode fazer nada.

    A minha sugestão passaria por criares uma variável no regedit de forma a que a pudesses aceder/remover/alterar sem problemas onde poderias guardar a password encriptada.

    Vê na net como trabalhares com o regedit, é fácil e até fazes umas coisas engraçadas ;) Mas faz sempre um backup do regedit primeiro, senão ainda te corre mal a brincadeira :P

    abraços, HecKel
     
  5. WinAce_Boy

    WinAce_Boy Power Member

    Já estive a ver mais ou menos como funciona isso do regedit, mas não sei trabalhar com ele.. Podes-me dar exemplos PF..
     
  6. WinAce_Boy

    WinAce_Boy Power Member

  7. HecKel

    HecKel The WORM

    Boas!

    Eu não ando com muito tempo livre..., mas fiz uma pesquisa rápida no google e encontrei várias coisas que te podem ajudar.

    Recomendo-te vivamente que faças uso dos links que estão na thread em sticky pois não falta lá material sobre visual basic.

    http://www.codetoad.com/visual_basic/registry/

    Vê este link, acho que por agora ajuda-te ;)

    abraços, HecKel
     
  8. WinAce_Boy

    WinAce_Boy Power Member

    Obrigadão man ;)
    Abraços..
     
  9. RPortela

    RPortela Power Member

    Na minha opinião o melhor método para fazeres isso, se o programa utilizar base de dados, e mesmo utilizares uma tabela com esses dados, assim podes adicionar/remover/modificar facilmente os utilizadores, além de que é mais fácil do que se utilizares o registo.

    Espero ter ajudado.
     
  10. WinAce_Boy

    WinAce_Boy Power Member

    oi..lol, penso que isso de usar o reg é perigoso e inda por cima o pc n e meu..lol
    Se houver uma maneira menos perigosa e practica..
    obrigado pela atençao
     
  11. gooden

    gooden Power Member

    login seguro? ora bem deixame pensar.... faz um login cm base de dados onde a base de dados teja protegida cm user e pass e as passwords tejam encriptadas em md5 nao? :)
     
  12. WinAce_Boy

    WinAce_Boy Power Member

    o problema e k n sei trabalhar com base de dados..
     
  13. gooden

    gooden Power Member

  14. WinAce_Boy

    WinAce_Boy Power Member

    lol akela cena ta um pouco complicada
     
  15. gooden

    gooden Power Member

    eu nao axo e so saberes ingles.... mas se fosse a ti começava por estudar o basico... umas calculadores, variaveis globais, funçoes etc....
     
  16. john

    john Power Member

    Login Seguro -> usa um SGBD para guardares os dados encriptados (cifras assimétricas ou simétricas conforme os requisitos que tenhas de rapidez, segurança, etc.)

    Podes usar SSL para teres https em vez de http nas comunicações entre o browser e o webserver.
     
  17. WinAce_Boy

    WinAce_Boy Power Member

    quais os passos pa fazer isso?
     
  18. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Pessoal,

    Eu aconselho o xtreme vb talk (da minha assinatura). Não gostei muito do ambiente do vbforums.

    WinAce_Boy, o que é que pretendes ao certo fazer com esse programa? É que há variadíssimas maneiras de fazer login, assim como de guardar os dados.
    Se puderes ser mais explícito, talvez te consiga arranjar uma maneira simples de fazer as coisas.

    Já agora, digo-te já uma coisa que te vai perseguir para sempre na programação: é IMPOSSÍVEL esconder totalmente alguma coisa. Se o programa consegue ver o que está por "detrás", então qualquer pessoa, depois de algum estudo, também consegue. Podes é, como disseram acima, hashar a password. Isso basicamente é transformar a password num certo código. É codificá-la, mas sem poderes descodificar depois.
    ++
    Imagina que a pass é 468135. Uma hash (extremamente má) seria somar todos os números. 4+6+8+1+3+5 = 27. Agora, pegando no 27, não consegues voltar a ter o 468135 ;)
    O problema desta hash? Bem, daria 468135, 135468, 864135, 134568, 999.... porque a soma destes dá SEMPRE 27.

    O objectivo duma hash é, mesmo que uma pessoa tenha acesso à hash, não consegue saber (facilmente) qual é a password que a origina. Os algoritmos de hashing são muito mais complexos do que eu acabei de dizer, e envolvem uma matemática que nem a mim passa pela cabeça. O MD5 é muito famoso. Se enveredares por aqui, ainda vais ouvir falar muito dele ;)

    Objectivo do hash
    468135 <enter>
    o programa gravou na base de dados 27

    Mais tarde, se alguém roubar a BD e encontrar o 27, não sabe qual é a password que origina esse número. Pode encontrar várias variantes, mas não sabe qual delas é a original. Isso importa para quê? Ao não descobrir a password original, não consegue descobrir a password que o utilizador eventualmente possa usar noutros sites. Há um exemplo cá no fórum de alguém que usou a mesma password num fórum e no hotmail, e de alguma forma a password do fórum foi comprometida, e o resultado é que tiveram acesso ao hotmail dele.

    Isto era só uma pequena introdução ao que é "hash". Para algo mais detalhado, Google :) um bom ponto de partida (espero que percebas bem inglês): http://en.wikipedia.org/wiki/Hash_function

    Cumps [[[[[[]]]]]]
    angelofwisdom
     
  19. WinAce_Boy

    WinAce_Boy Power Member

    Fixe..Boa apresentação..;) Obrigado.. Vou escolher esse método, parece eficaz e simples, mas o md5 é um programa, função ou outro? E o hash?..

    O meu programa vai ser uma aplicação para gerir autores e livros e atribuir relações entre eles..No inicio gostaria de por uma password para não ser qualquer um a chegar lá e fosse vasculhar os ficheiros e visse a password num dos ficheiros .cfg(era como eu estava a pensar fazer..mas penso que seria muito fácil de a descobrir)..
    Obrigado pela atenção.. Abraços a todos..
     
  20. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    O MD5 é um algoritmo. Fazes uma função, arranjas o MD5 na Internet, e aplicas numa string.
    Nunca mexi com MD5 mas deve ser algo do género
    Hash = MD5("Olá")
    e ficas com a Hash da string "Olá".

    Quando o utilizador grava uma password, a que fica registada no ficheiro CFG é a HASH da password. Quem abrir esse ficheiro apenas encontra a hash. Não pode utilizá-la sem o utilizador saber (mas pode alterá-la). O programa, por sua vez, quando é inserida uma password, hasha-a e compara-a com a hash gravada. É mais seguro do que compará-la directamente com outra password escrita no ficheiro (porque esta pode ser comprometida).

    Estou a explicar as coisas de forma muito linear. Sinceramente, EU nunca trabalhei com algoritmos de hashing. Apenas usava encriptação "normal" (encripta/desencripta). Mas no teu caso talvez devas aprender qualquer coisa sobre criptografia.
     

Partilhar esta Página