SISTEMA DE LICENCA
Galera preciso da ajuda de vocês....
Bom estou desenvolvendo um sistema e preciso colocar nele um sistema de licença, para um cliente não passar pra outro e assim vai...
Só que eu não tenho muita noção de como fazer isso....
Pensei em pegar o numero de serie do HD... Da um criptografada e tals.....
Mas gostaria de saber de você uma maneira bem legal de fazer esse sistema....
Não quero usar programa de terceiro, quero tentar eu mesmo fazer tudo, pra caso de algum problema eu saber onde ta errado....
Conto com a ajuda de vocês...
Att.
Luiz
Bom estou desenvolvendo um sistema e preciso colocar nele um sistema de licença, para um cliente não passar pra outro e assim vai...
Só que eu não tenho muita noção de como fazer isso....
Pensei em pegar o numero de serie do HD... Da um criptografada e tals.....
Mas gostaria de saber de você uma maneira bem legal de fazer esse sistema....
Não quero usar programa de terceiro, quero tentar eu mesmo fazer tudo, pra caso de algum problema eu saber onde ta errado....
Conto com a ajuda de vocês...
Att.
Luiz
meu amigo! da uma olhadinha nesse site
http://www.macoratti.net/11/07/vbn_vav1.htm
isso ensina voce criar uma aplicação de avaliação passados os dias ele expira a menos que voce ensira a chave de ativação!
eu ja criei um projeto com esse sistema ai e ficou bom! o Resto voce vai adaptando!
http://www.macoratti.net/11/07/vbn_vav1.htm
isso ensina voce criar uma aplicação de avaliação passados os dias ele expira a menos que voce ensira a chave de ativação!
eu ja criei um projeto com esse sistema ai e ficou bom! o Resto voce vai adaptando!
Olá
Eu fiz o seguinte:
Criei um banco de dados na internet e lá quardo o MAC - Nome da máquina - Cliente - E se esta pago ou não.
Toda vez que o sistema é aberto no cliente ele verifica se o MAC do micro esta como True ou False, se tiver true o sistema abre se false ele apaga um arquivo de controle meu simples, pode ser um arquivo txt em branco e fecho o sistema. O arquivo é pra no caso do cliente depois disso desligar a internet o arquivo não existe ai o sistema não abri.
E se o cliente estiver sem internet e o arquivo existir o sistema funciona, claro que não falo nada disse pro cliente. E como hoje dificilmente encontra um empresa sem internet até agora não tive problema ao contrário já bloqueei 2 clientes por falta de pagamento.
O bom que de casa mesmo posso bloquear o sistema sem precisar ir no cliente e correr o risco de bater boca. O cliente paga da onde estiver acesso o servidor na internet e libero as máquinasda empresa.
Eu fiz o seguinte:
Criei um banco de dados na internet e lá quardo o MAC - Nome da máquina - Cliente - E se esta pago ou não.
Toda vez que o sistema é aberto no cliente ele verifica se o MAC do micro esta como True ou False, se tiver true o sistema abre se false ele apaga um arquivo de controle meu simples, pode ser um arquivo txt em branco e fecho o sistema. O arquivo é pra no caso do cliente depois disso desligar a internet o arquivo não existe ai o sistema não abri.
E se o cliente estiver sem internet e o arquivo existir o sistema funciona, claro que não falo nada disse pro cliente. E como hoje dificilmente encontra um empresa sem internet até agora não tive problema ao contrário já bloqueei 2 clientes por falta de pagamento.
O bom que de casa mesmo posso bloquear o sistema sem precisar ir no cliente e correr o risco de bater boca. O cliente paga da onde estiver acesso o servidor na internet e libero as máquinasda empresa.
Então eu pensei nisso hoje a tarde toda, acabei caindo numa solução parecida com a sua amigo, no caso a minha seria o seguinte.....
Eu monto um banco de dados na internet, nele contem:
1 - Usuário
2 - Senha
Ai quando o usuário logar no sistema ele busca o usuário e senha no meu banco de dados que esta na internet....
O restante das funções e do banco de dados fica local mesmo....
Tentei já fazer Engenharia Reversa nos meu programas que crio no Visual Studio 2010, não consegui muita coisa, então creio que essa minha ideia venha a dar certo, de manter somente usuário e senha na internet....
Logo se o meu cliente não tiver usuário e senha validos não tem como logar no sistema, crio também uma rotina que não permita que um usuário estar logado mais de 1 vez...
Alex Passos, a sua dica de deletar o arquivo e boa sim, mas acho que não meu como é usuário e senha não vai poder ter em empresas que não tenha internet, mas como você mesmo disse [Ô]E como hoje dificilmente encontra um empresa sem internet[Ô], então vai dar certo....
Eu monto um banco de dados na internet, nele contem:
1 - Usuário
2 - Senha
Ai quando o usuário logar no sistema ele busca o usuário e senha no meu banco de dados que esta na internet....
O restante das funções e do banco de dados fica local mesmo....
Tentei já fazer Engenharia Reversa nos meu programas que crio no Visual Studio 2010, não consegui muita coisa, então creio que essa minha ideia venha a dar certo, de manter somente usuário e senha na internet....
Logo se o meu cliente não tiver usuário e senha validos não tem como logar no sistema, crio também uma rotina que não permita que um usuário estar logado mais de 1 vez...
Alex Passos, a sua dica de deletar o arquivo e boa sim, mas acho que não meu como é usuário e senha não vai poder ter em empresas que não tenha internet, mas como você mesmo disse [Ô]E como hoje dificilmente encontra um empresa sem internet[Ô], então vai dar certo....
Crie um usuário ESPECÃFICO que só tenha permissão de SELECT, para não expor sua base da web (já que alguém mal intencionado pode obter os dados do ASSEMBLY).
Como assim Tecla, somente permissão de SELECT?
Pelo que entendi, o EXE irá acessar uma base remota para validar a licença.
Para acessar o BD, o EXE terá que ter uma STRING DE CONEXÃO com os dados de acesso ao SGBD, incluindo o USUÃRIO e SENHA de acesso ao banco.
é sobre este USUÃRIO que refiro, dê somente permissão de SELECT à base de dados, já que é o suficiente para o aplicativo obter os dados da licença.
Para acessar o BD, o EXE terá que ter uma STRING DE CONEXÃO com os dados de acesso ao SGBD, incluindo o USUÃRIO e SENHA de acesso ao banco.
é sobre este USUÃRIO que refiro, dê somente permissão de SELECT à base de dados, já que é o suficiente para o aplicativo obter os dados da licença.
Agora eu entendi, mas eu vou precisar fazer UPDATE nela também, pois quando o usuário logar, vou precisar marcar isso no banco de dados.....
Seria bom criptografar toda a string de conexão dentro do meu EXE, o que você me sugere???
Seria bom criptografar toda a string de conexão dentro do meu EXE, o que você me sugere???
Sugiro que você faça o processo de UPDATE através de outra aplicação (ou diretamente [Ô]na mão[Ô]), e deixe a aplicação fazer somente a CONSULTA do status da LICENÇA.
é só uma sugestão!
é só uma sugestão!
meu conselho e como fiz:
criar um webservice de consulta que vc passa o id do cliente ou cnpj ou alguma outra informação para seu site;
seu site retorna uma data de validade e um token, aconselho md5;
sua aplicação valida e salva, no bd ou em em um arquivo a licença;
toda vez que o sistema carregar, verifica o arquivo/banco e ve se a chave expirou;
se expirou pede pra buscar uma nova no site e se a mesma não for valida, apresenta erro.
dessa forma, fica mais dificil e burlar seu esquema de bloqueio do software...
criar um webservice de consulta que vc passa o id do cliente ou cnpj ou alguma outra informação para seu site;
seu site retorna uma data de validade e um token, aconselho md5;
sua aplicação valida e salva, no bd ou em em um arquivo a licença;
toda vez que o sistema carregar, verifica o arquivo/banco e ve se a chave expirou;
se expirou pede pra buscar uma nova no site e se a mesma não for valida, apresenta erro.
dessa forma, fica mais dificil e burlar seu esquema de bloqueio do software...
LROSSI Não quero mexer com site, até porque eu não sei e não gosto ^^
Mas sua sugestão é muito boa.....
--------
TECLA, vai ser mais ou menos assim, você loga no sistema e ele coloca como logado no banco de dados, então vai ser automático entende???
Mas sua sugestão é muito boa.....
--------
TECLA, vai ser mais ou menos assim, você loga no sistema e ele coloca como logado no banco de dados, então vai ser automático entende???
Tópico encerrado , respostas não são mais permitidas