SENHA MES A MES

SOUZA 15/02/2011 19:17:55
#365546
Pessoal elguem pode me dar uma ideia de qual melhor jeito de colocar no executavl a checagem de mudança de mes pra pedir a nova senha mas com a situação de verificar se o cliente alterou a data etc pra driblar o sistema ok.
MARCELOKROL 15/02/2011 20:43:25
#365556
Assim, colocar um campo no seu banco de dados, que arqmazene a data e hora atual da abertura do sistema, assim se o usuario voltar a data vc informa que a data foi alterada.
ai vc coloca a data da ultima senha, tipo assim DATAVALIDACAO, e outro campo PERIOVALIDACAO, depois é so vc fazer umas continhas, tipo assim
if cdate(datavalidacao) + clng(periodovalidacao) <= date then
msgbox [Ô]a senha expirou[Ô]
end if

o meu sistema faz mais ou menos isso e funciona direitinho

abraços
MARCELO.TREZE 15/02/2011 21:33:46
#365563
o Xará deu a forma correta de se proteger, porém ainda assim é possivel haver [Ô]dribles[Ô], um exemplo seria o seguinte:

supondo que o cliente seja uma pessoa que conhece destes tipos de desafios e faz o seguinte, antes de instalar o seu programa altera a data atual para uma data futura, ex: 31/12/2100, ai instala seu programa que irá gravar a data atual do PC no banco ou seja 31/12/2100, depois do programa instalado e ele volta para a data atual, assim o seu sistema nunca chegará a 31/12/2100, o que permitirá o uso dele por muito tempo.

porém existem maneiras de se resolver isto, primeiro vc determina o ano ou mesmo o mes ou meses que o programa deverá ser instalado no programa, ex: coloque um código que permita que o programa seja instalado até uma data pré determinada. tipo [Ô]este programa deve ser instalado até 20/03/2011[Ô]

isso já diminui o problema que apresentei acima, porém existe uma outra possibilidade, o usuário ficar voltando a data do pc todos os dias, mantendo assim o programa sempre em dia.

para esta questão elaborei um código que faz o seguinte, conta o tempo de uso do programa, ou seja se o tempo de uso for maior que 23:59 na mesma data ele detecta a tentativa de fraude.

ex: se o cliente abre o programa hoje 15/02/2011 e o usa por 12 horas estas horas serã salvas no banco ou no registro do windows, no dia seguinte (16/02) o cliente volte a data do PC para (15/02) afim de burlar o sistema, e usa o programa por mais 12 horas o programa irá travar, pois não existe dia maior que 24 horas entendeu.

quanto a codificação fica a seu critério.





SOUZA 15/02/2011 22:58:14
#365569
obrigado pelas dicas mas me falem uma coisa todos vcs usam banco de ddos para salvar a data etc, vcs trabalham com access ou nao ? pois tenho medo de usarem aqueles programinhas pra quebrar senha do access
MARCELOKROL 15/02/2011 22:58:53
#365570
Citação:

:
Assim, colocar um campo no seu banco de dados, que arqmazene a data e hora atual da abertura do sistema, assim se o usuario voltar a data vc informa que a data foi alterada




Pois é Xará, eu tambem pensei nisso, acontece que o sistema irá trabalhar somente com a data atual, e não deixara o usuário voltar a data, como eu ja tinha citado, e ainda a cada abertura do sistema se tiver alterado a data do computador,ele ria pedir pro usuario informar a data correta, sempre a frente, nunca pra tras, então se o cara instalou o sistema com data de 31/12/2100, ele ira ter que trabalhar com esta data ai pra frente, e todas as estaçoes trabalharam tambem com esta data pois a mesma é salva no banco de dados. Então todos os lançamentos no contas a receber, a pagar, lancamento de notas, pedidos, vendas, será com essa data, pois o sistema não deixa voltar, salvo por suporte, que logicamente eu cobro pra arrumar tal façanha do usuario espertinho.
E tem mais se ele fez isso por apenas experiencia, se danou pois a data ja foi salva no banco de dados, ai não tem como voltar, so via suporte.

Outra coisa a senha de validação (assim como eu chamo ela) é criada embaralhando o cnpj, o codigo da empresa (meu cadastro), razão social, e data atual, então se a data do computador estiver correta e a data do sistema estiver errada não vai funfar, se for ao contrario tambem não.

Claro se um hacker tentar quebrar isso, talvez ele quebre, mais ate o windows 7 foi quebrado, o bluray que era pra ser o anti pirataria.

Abraços e ate mais
MARCELOKROL 15/02/2011 23:15:00
#365571
Sim eu uso a data dentro do banco de dados.

Uso banco de dados firebird com a senha do SYSDBA alterada para uma senha propria e as data ficam salvas criptografadas, então por mais que o usuario abra o banco ele ainda vai ter que descriptografar as datas, que ficam em campos com nomes genericos que so eu sei qual é qual (tipo cfg001,cfg002, cfg003 e assim por diante)

Abraços e ate mais
FNANDOOD 15/02/2011 23:49:15
#365575
O correto seria fazer uma função que gerasse senhas de acordo com o CNPJ/CPF do cliente, + período de validade.
assim, outros clientes não conseguiriam utilizar o sistema também.

Teria que inventar alguma operação matemática entre o CNPJ e Periodo, e que depois desse para retornar o valor Período Valido.




SOUZA 16/02/2011 09:40:20
#365591
pessoal valeu pela a dica e como xara disse nao se pode ganhar todas hehehe valeu abraços!
SOUZA 16/02/2011 14:46:42
#365629
Pessoal volto abrir este topico pq nao entendi bem como fazer para registrar a data no banco de dados tipo se eu salvar ela hoje 16/02/2011 nesta data o sistema funciona normal mas amanha quando eu for abrir o sistema na tela de login pois acho que e o lugar para se colocar isso como a data vai ser maior q ontem ele ja vai trava o sistema como eu faria para resolver isso ?
SOUZA 16/02/2011 15:06:30
#365636
Pessoal aqui pensando com minhas caraminholas imaginei o seguinte .

Os sistemas sao para funcionar por 30 dias. nao seria mais facil fazer um contador que fosse idependente da data uma maneira de que ele apenas contasse ou regredisse 30 dias isso travaria a cituação da data alterada alguem tem ideias de como fazer isso pq se vc colocar quando for abrir o sistema ele contaria todas as aberturas sera que teria como fazer ele contar apenas uma vez por dia ?
MARCELO.TREZE 16/02/2011 15:46:35
#365651
Resposta escolhida
olha funciona asim:

vc coloca um campo de data da ultima ativação, ou seja quando a pessoa instalar o programa ou abri-lo pela primeira vez verifique este campo se ele estiver vazio coloque a data atual (16/02/2011).

no load do seu form principal crie uma verificação parecida com esta

If DateAdd([Ô]m[Ô],1,rsdataatual) = Date then
msgbox[Ô]o programa espirou[Ô]
end if

o dateadd adiciona 01 mes na data da ultima validacao entendeu
Página 1 de 2 [15 registro(s)]
Tópico encerrado , respostas não são mais permitidas