Jump to content

[vb6] Login Form


hellion

Recommended Posts

Boas,

Estou a fazer um projecto de gestao de cinemas para o trabalho de fim de ano e tenho umas dúvidas em relação 'a interaccao com a base de dados.

De forma a querer ter duas formas de gestao no programa, preciso de criar um login form para distinguir as funcionalidades de colaborador e administrador.

Ja' criei a form e liguei-a à base de dados onde tenho uma Tabela chamada TabLogin com os campos Username e Password.

A minha duvida e' em como poder verificar a veracidade dos dados introduzidos nos campos respectivos.

Sem mais ,

Agradeço desde já !

Link to comment
Share on other sites

que tipo de BD estás a usar?

teoricamente o que fazes é quando introduzires o login, primeiro vais buscar os campos da tabela e depois fazes uma simples verificação. se o programa tiver mais utilizadores podes acrescentar mais um capo do tipo boolean para verificar se é Admin ou Não 👍

Link to comment
Share on other sites

Se bem compreendi o teu problema, a encriptação disponibiliza-te esse nível de segurança que procuras.

Se à password juntares ruido e depois passares tudo pelo algoritmo MD5 (ou qualquer outro que não tenha função de desencriptação ou que a mesma seja virtualmente impossível de desencriptar) ficas com o problema resolvido. 👍

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

oi

se quiseres ecryptar dados vê este post... é obrigatorio (segundo os bons costumes) encryptar esse tipo de dados numa BD

Classe de Encryptaçao TripleDES

http://www.portugal-a-programar.pt/index.php?showtopic=2662

Introduzir Arrays de Bytes Encryptados em MS SQL Server 200

http://www.portugal-a-programar.pt/index.php?showtopic=2647

teckV - Maet Follower

Link to comment
Share on other sites

Eu costumo fazer o seguinte:

1º) retiro o username que o utilizador inseruiu na aplicação

2º) selecciono da base de dados a pass do utilizador em questao

3º) comparo na minha aplicação essa pass com a que foi introduzida pelo utilizador

4º) se ambas forem iguais => MARAVILHA; caso contrario lanço uma mensagem de erro.

A parte isto, podes utilizar o conceito de encriptação da palavra-chave. Existem na net varios exemplos de algoritmos de encriptação... normalmente eu utilizo um metodo do VB.Net que converte a palavra chave para "Hash". Esse metodo permite a encriptação da palavra-chave mas nao permite a desencriptação.

u seja:

1º) retiro o username que o utilizador inseruiu na aplicação

2º) encripto a palavra-chave que o utilizador inseriu na aplicação

3º) selecciono da base de dados a pass do utilizador em questao

4º) comparo na minha aplicação essa pass com a que foi introduzida pelo utilizador

5º) se ambas forem iguais => MARAVILHA; caso contrario lanço uma mensagem de erro.

Link to comment
Share on other sites

o forum deve andar com problemas concerteza  👍 ele so quer verificar se o login introduzidos pertencem a um Admin ou n  😛 mas o teckV tem razão 😄

Por acaso não foi isso que eu - e pelos vistos outros - compreedemos.

Há - grosso modo - 3 formas de fazer isso:

1. Quick and Dirty, marcando com um bit um valor numa coluna "administrador".

2. Gestão de Perfis, onde existe um conjunto de perfis que são atribuidos a cada um dos utilizadores e mediante o perfil, ou perfis, do utilizador as opções disponibilizadas variam.

3. Gestão de Perfis "Completa", onde, há semelhança do ponto 2 acima, existe um conjunto de perfis que são atribuidos a cada um dos utilizadores e cada um dos terminais e mediante o cruzamento dos perfis do utilizador e dos terminais as opções disponibilizadas variam.

Creio que no caso em questão o ponto 1 resolve o problema.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

A minha duvida e' em como poder verificar a veracidade dos dados introduzidos nos campos respectivos.

eu entendo esta questão de uma forma diferente... pois...  ?

não quero acreditar que tivesse a perguntar como confirmar o username e a password... não é?

como qualquer valor é comparar com a BD... não creio que haja duvidas nisto... não pode...

agora pode-se trabalhar a nivel de validação de inputs nomeadamente contra SQL injection e afins

usa validators do .NET... ou constroi os teus... a ideia é substituir determinados caracteres como o "<" ou o "OR" ou peliculas, que podem alterar a query que valida o user...

durante muito tempo funcionou uma cena de SQL Injection que era apenas isto...

o programadores validavam a password comparando-a com a BD... se fosse a correcta retornava "True""Verdadeiro"... h3h3h3h3h calro está... apareceu a cena do [anything"" = ""anything"" OR TRUE OR ""anything""]

pos tá-se mesmo a ver... retorna sempre TRUE e é dado acesso...

só pode ser isto que estás a falar....

á uns artigos fixes sobre isso

TextBox whith Validation Functions and MaskEdit

http://www.codeproject.com/vb/net/validtext3.asp

Validating Input in VB.Net

http://www.devhood.com/Tutorials/tutorial_details.aspx?tutorial_id=510

SQL Injection Attack and Defense

http://www.securitydocs.com/library/3587

teckV

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.