Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×

[Delphi] Sistema de Login com MySql (usando tabela do vBulletin)


~OwneR~
 Compartilhar

Posts Recomendados

Antes de qualquer coisa, este post é um "rascunho", não terá imagens por enquanto, nem os tutoriais de instalação, portanto se virem ou esperem eu postar =)

 

Por ser um "rascunho", ele não vai estar dividido por partes, quando eu for finalizar, irei separar em partes por SPOILER

 

No final do post eu coloco a source do meu projeto...

 

LEMBRE-SE QUE ESSE É UM POST DESTINADO AO VBULLETIN, SE VOCÊ USA OUTRA PLATAFORMA TERÁ QUE USAR DADOS DIFERENTES!

 

Oi galera, fazia tempo que eu não postava algo útil, hoje estou postando algo que é a dúvida de muitos membros do fórum, que querem fazer uma conexão entre o seu programa e seu servidor MySql para criar um sistema de login.

 

Se o seu objetivo não é criar um sistema de login, leia também, a solução para o seu problema será parecida =)

 

[RyokuseiMode ON]

Se você é um leecher/lammer/noob/whatever saia dessa página agora;

Se você só dá CTRL+C e CTR+V nos códigos saia dessa página agora;

Se você é daqueles que fazem perguntas idiotas antes de ler todo o tópico saia desta página agora;

Se você acha que eu copei isso de algum lugar saia dessa página agora e se mate;

[RyokuseiMode OFF]

 

Bom, fiquei a madrugada inteira pra entender porque estava dando errado a conversão desse código PHP de encriptar a senha do vBulletin para Delphi, só faltava um maldito LowerCase...:

É necessário se cadastrar para acessar o conteúdo.

 

Se sua forma de criptografar a senha for diferente, poste o método e eu converto pra você =)

Ex: $hash = md5($password.$salt);

 

Bom, chega de enrolação e vamos ao que interessa.

Primeiramente vocês precisarão de:

É necessário se cadastrar para acessar o conteúdo.

 

Nossas ferramentas serão:

É necessário se cadastrar para acessar o conteúdo.

Ah sim, se você não quiser fazer um sistema de login baseado nos usuários de um fórum, você pode criar uma tabela com os usuários e senhas...

 

Vamos ao que interessa =D

 

Baixe este componente:

É necessário se cadastrar para acessar o conteúdo.

Baixe esta DLL (incluso o .res da DLL):

É necessário se cadastrar para acessar o conteúdo.

Tutorial de como instalar o Zeos Lib + Download

 

Para os que querem testar o código e não tem um servidor baixe tamém:

XAMPP 1.7.3 (51mb):

É necessário se cadastrar para acessar o conteúdo.

vBulletin v4.1.0 Nulled -

É necessário se cadastrar para acessar o conteúdo.

 

Se for proibido postar Nulled Boards peço que um mod remova o download (=

 

NÃO VOU POSTAR AGORA O TUTORIAL DE COMO CONFIGURAR O XAMPP E INSTALAR O FORUM! OUTRA HORA EU POSTO NA ÁREA DE WEB-PROGRAMAÇÃO!

 

Finalmente temos o que precisamos \o/

Vá na palheta "Zeos Access" que acabou de ser criada (ou não), e adicione os componentes:

ZConnection (1°)

ZTable (4°)

Vá na palheta "Data Access" e adicione um DataSource.

 

Configure os componentes da seguinte forma:

ZConnection1:

É necessário se cadastrar para acessar o conteúdo.

ZTable1:

É necessário se cadastrar para acessar o conteúdo.

DataSource1:

É necessário se cadastrar para acessar o conteúdo.

 

Pronto, agora os componentes estão configurados =)

Agora coloque o LibMySql.res na pasta do seu projeto e adicione esse código ao onCreate do form:

É necessário se cadastrar para acessar o conteúdo.

 

Yay, está quase pronto =)

Agora adicione 2 Edits e 1 Button

O Edit1 será para o UserName e o Edit2 para o PassWord.

 

Acrescentei 2 blocos onde verifica se o usuário está banido, ou se ele tem posts insuficiente para usar o programa =)

 

É necessário se cadastrar para acessar o conteúdo.

PS: 8 é a ID dos banidos no fórum que eu fiz em localhost, no seu fórum pode ser diferente =)

 

SOURCE

mysqlexemplo.png

 

[DOWN]

É necessário se cadastrar para acessar o conteúdo.
[/DOWN]

É necessário se cadastrar para acessar o conteúdo.

 

Bom, isso é tudo pessoal, espero que tenham entendido tudo, e um feliz natal pra todos =)

 

Por favor não façam perguntas idiotas, escrevam com um português decente e com lógica, aí sim eu respondo ok?

Link para o comentário
Compartilhar em outros sites

Obrigado Ryo =)

 

Amanhã (ou hoje, sei lá) eu posto o tutorial de como criar um fórum em localhost pra vocês testarem o código =)

Quem já souber como funciona baixe o vBulletin que está no tópico.

 

Falow~ :nice:

Link para o comentário
Compartilhar em outros sites

Com sql e melhor tem como usar a tabela do vbulletin com o sql ?

 

Eu uso sem assim

 

Nome_Da_TQuery.Close;

Nome_Da_TQuery.SQL.Clear;

Nome_Da_TQuery.sql.add('SELECT * FROM Usuario WHERE Login_Usu='+ Quotedstr(EDIT_BOX.Text_OU_Nome_da_Variavel) +' AND Senha_USU=' + Quotedstr(EDIT_BOX.Text_OU_Nome_da_Variavel));

Nome_Da_TQuery.Prepare;

Nome_Da_TQuery.Open;

if Nome_Da_TQuery.Eof then begin

Messagebox(handle,'Usuário ou Senha incorettos','Erro!',16);

{Limpar os Edits}

end else begin

{feichar form de login e abrir mainform}

end;

Link para o comentário
Compartilhar em outros sites

ótimo tópico ~OwneR~ , perdi a conta de quantas pessoas tiveram duvidas sobre login, em relação a login aqui na wc :nerd:

 

Nunca mexi com componente zeos =X

e nem manjo mto mexer com forum e tals, mas, depois vo testar pra ver =X

 

@off:

faltou falar:

 

Se você não gosta de gatinhos, saia dessa página agora;

 

kospakSopakPSkSKop

 

flw, abraçs

Link para o comentário
Compartilhar em outros sites

  • 2 semanas atrás...

Desculpa a demora pra responder =(

 

@Surfistinha£

Dá sim cara, a diferença é que você tem que usar sintaxe MySql pra procurar.

Bom, eu não fiz com os componentes nativos porque aqui não conecta (dá erro na hora de carregar a dll...), mas com o Zeos funcionou (e achei mais fácil também ^^).

Dá pra você usar esse código seu sim, mas você terá de criptografar a senha do Edit pra ver se bate com a da DB, e claro modificar algumas coisas.

Como eu entendo pouca coisa não posso te dizer o que fazer, mas seria tipo isso:

É necessário se cadastrar para acessar o conteúdo.

Aí basta criptografar a senha e comparar com a da DB

A criptografia de senha vBulletin é MD5(MD5($Password).$Salt)

 

@DragonBoss

Não coloquei porque não gosto de gatinhos ._."

Acho gatinho fofis e tal, mas gatinhos são falsos!!

---------------

Tutorial pra quem não sabe instalar o Zeos: http://www.webcheats.com.br/forum/delphi-vb/667167-delphi-instalando-zeoslib.html

 

Em breve um vídeo-tutorial de criar forum em localhost pra vocês testarem o código ^^

---------------

Ah sim, lembrando que é perigoso você deixar a senha assim "à mostra", já que ela pode ser pega facilmente com um Debugger ou Decompiler.

Bom, existe 2 métodos pra prevenir que alguém pegue sua senha e possa destruir seu banco de dados:

 

1° Método:

Fazer conexão com um intermediário via sockets, assim o cliente não acessaria a DB diretamente, apenas solicitaria para o servidor intermediário (é o mais seguro na minha opinião, mas o que dá mais trabalho...)

 

2° Método:

Criptografar a senha e usar um bom Crypter (WinLicense, VMProtect...). Dá menos trabalho pra fazer, mas um bom cracker pode conseguir a senha ^-^

Link para o comentário
Compartilhar em outros sites

O Zeos faz conexão MS SQL também. Ele faz conexão com as seguintes DB's

É necessário se cadastrar para acessar o conteúdo.

 

A diferença no código só vai ser na configuração da conexão e a DLL.

Link para o comentário
Compartilhar em outros sites

~ Owner ~

 

aqui fala que não encontrou a database (meu forum) sendo que eu puis tudo corretamente...

 

 

e ali em "Database" tu fez backup ou exportou a db inteira ?

 

EDIT

 

Tem como tu explicar como fazer pra IPB por favor? digamos que tenmha que ter a mesma lógica do de vBulletin, libera se tiver X posts e se user ban não libera, tem como por favor D: ?

 

 

 

PLEASE

Link para o comentário
Compartilhar em outros sites

sumonee, você não tem que exportar a tabela não, e sim fazer uma conexão direta!

Se eu não me engano o hash do IPB é md5(md5(SALT).md5(PASS))

 

No Delphi seria:

É necessário se cadastrar para acessar o conteúdo.

*Adicione as variáveis MD5Password,MD5Salt: String;

 

Eu não tenho o IPB aqui, então não posso te dizer qual é a tabela de usuários, nem os campos que ficam os usuário/senha/número de posts/grupo de usuário.

Link para o comentário
Compartilhar em outros sites

  • 2 semanas atrás...

Isso pode estar acontecendo por 2 motivos:

1° - O arquivo não existe (ele fica na pasta ZEOS\src\core)

 

2° - Você não declarou as pastas do Zeos na Library.

Veja o tutorial: http://www.webcheats.com.br/forum/delphi-vb/667167-delphi-instalando-zeoslib.html

Não se esqueça que você deve declarar todas essas pastas:

É necessário se cadastrar para acessar o conteúdo.

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.