Jump to content
Fivewin Brasil

Liberar senha nos caixas


CleitonSH

Recommended Posts

Lailton, colocar o get somente leitura tudo bem, mas se o cliente ler o cartão no bloco de notas por exemplo, irá pegar o código e digitar normalmente no get somente de leitura. A questão do tempo de digitação estou analisando.

Obrigado.

citação:

Cleiton,

Se me permite comentar.

Nao seria possivel colocar o "get" em modo somente leitura ?

Ou ate mesmo voc^e fazer um controle do codigo inserido isso ( em logica ) me parece facil e rapido de se fazer.

Exemplo quando voc^e digita um numero por exmeplo de uns 13 caracter vc tende a demorar cerca de um 5 seg. ja um leitor acredito que entre 1 e 2. acho q nesse intervalo de tempo vc pode ( AMARAR ) o sistema e saber se alguem esta digitando ou o leitor que esta informando.

Pois se vem do leitor vc deixaria continuar, se fose digitado ( 'e pq alguem teria copiado do bloco de notas ).

vc tambem pode checar o CTRL+V ( que provavelmente a pessoa esteja usando ) e com isso nao aceitar o codigo.

O que vc acha ??

( Se viajei desculpa, apenas ideias. )

Abraco

O código de barras estou gerando com uma criptografia minha, e e informo esse código no coreldraw.

Só que, se o cliente ler este cartão no bloco de notas, dar um CTRL+C no conteúdo lido pelo leitor e ir no campo

que meu sistema pede pra passar o cartão de liberação e der um CTRL+V, ele irá passar normalmente.

Pra ficar assim, o usuário jamais poderia ter acesso a este cartão, mas fica difícil, funciona por algum tempo, depois o supervidor de caixa relaxa e deixa o cartão em algum lugar, o operador vai lá e lê o cartão no bloco de notas, ai já era...

Cleiton

FWH906+xHarbour, MySql, WorkShop, PellesC, FW20d+Clipper5.2+Clip53b

Att.

Lailton Fernando Mariano

E-Mail: developer@lailton.com.br | Msn: lailton.developer@hotmail.com

xHarbour 1.2.1 | Fivewin 11.1 | Borland 5.8.2 | MySQL


id=quote>id=quote>

Cleiton

FWH906+xHarbour, MySql, WorkShop, PellesC, FW20d+Clipper5.2+Clip53b

FotoCleitonForun.jpg

Link to comment
Share on other sites

Ercicley, o empresário não quer nem saber. Sabe que os funcionários estão burlando o sistema, ele quer barrar mesmo sabendo que a pessoa não é de confiança para estar no seu quadro de funcinários.

Obrigado.

citação:

Ainda sou da opinião que não se deva fazer nada, assim como o Frazato disse.

1 - se o funcionário da empresa está dando de malandro, a empresa que tem que resolver.

2 - se o responsável é irresponsável e relaxa com o cartão, a empresa que tem que resolver.

Como um amigo diz, liga o modo fod*-se, isso não é problema seu, a não ser que estejam pagando para você fazer algo, mas mesmo assim.

Quase nada é imburlável. ^^

Erciley Junior (FWH8.01 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY)

NÃO ABANDONE O POST, QUEREMOS SABER SE SUA DÚVIDA/PROBLEMA TEVE SOLUÇÃO


id=quote>id=quote>

Cleiton

FWH906+xHarbour, MySql, WorkShop, PellesC, FW20d+Clipper5.2+Clip53b

FotoCleitonForun.jpg

Link to comment
Share on other sites

Rone qual padrão de código de barras consegue imprimir alguma senha criptografada? Code128, Code39...

citação:

cCodCriptografado := Encrypt( cCodigo, "PADRAO_PARA_CRIPTOGRFAR" )

Imprime cCodCriptografado como CODIGO DE BARRAS PARA O CARTAO

Depois no módulo para LER O CARTAO

cCodDescriptografado := Decrypt( cCodLIDO, "PADRAO_PARA_CRIPTOGRAFAR" )

Verificar no banco de dados...

Perfil.jpg


id=quote>id=quote>

Cleiton

FWH906+xHarbour, MySql, WorkShop, PellesC, FW20d+Clipper5.2+Clip53b

FotoCleitonForun.jpg

Link to comment
Share on other sites

citação:

Samir, como bloquear CTRL+C e CTRL+V dentro de um get?

citação:

coloque um código acima de 13 digitos preferencialmente e verifique o tempo entre o inicio da digitação e o final, bloqueie o ctrl+V, shift+insert e botão direito do mouse e assim só se o usuário digitar EXTREMAMENTE RÃPIDO.

Pode colocar 2 segundos ou 1,5 caso use milisegundos tb...

sambomb.jpg

RCA Sistemas - Itaocara - RJ

Editado por - sambomb on 12/06/2012 17:56:44


id=quote>id=quote>

Cleiton

FWH906+xHarbour, MySql, WorkShop, PellesC, FW20d+Clipper5.2+Clip53b

FotoCleitonForun.jpg


id=quote>id=quote>

Na TGet.prg tem um tratamento para isso já la no método KeyDown

Mas acho que seria assim:


oget:bKeyDown := { |nKey| TrataTecla(nKey) }

Function TrataTecla( nKey )

If nKey = Chr("c") .Or.;

nKey = Chr("C") .Or.;

nKey = Chr("v") .Or.;

nKey = Chr("V")

If GetKeyState( VK_CONTROL )

oClip := TClipBoard():New()

oClip:SetText("ERRO")

cGet := "ERRO"

oGet:Refresh()

end

end

Return

id=code>id=code>

sambomb.jpg

RCA Sistemas - Itaocara - RJ

Link to comment
Share on other sites

citação:

citação:

Samir, como bloquear CTRL+C e CTRL+V dentro de um get?

citação:

coloque um código acima de 13 digitos preferencialmente e verifique o tempo entre o inicio da digitação e o final, bloqueie o ctrl+V, shift+insert e botão direito do mouse e assim só se o usuário digitar EXTREMAMENTE RÃPIDO.

Pode colocar 2 segundos ou 1,5 caso use milisegundos tb...

sambomb.jpg

RCA Sistemas - Itaocara - RJ

Editado por - sambomb on 12/06/2012 17:56:44


id=quote>id=quote>

Cleiton

FWH906+xHarbour, MySql, WorkShop, PellesC, FW20d+Clipper5.2+Clip53b

FotoCleitonForun.jpg


id=quote>id=quote>

Na TGet.prg tem um tratamento para isso já la no método KeyDown

Mas acho que seria assim:


oget:bKeyDown := { |nKey| TrataTecla(nKey) }

Function TrataTecla( nKey )

If nKey = Chr("c") .Or.;

nKey = Chr("C") .Or.;

nKey = Chr("v") .Or.;

nKey = Chr("V")

If GetKeyState( VK_CONTROL )

oClip := TClipBoard():New()

oClip:SetText("ERRO")

cGet := "ERRO"

oGet:Refresh()

end

end

Return

id=code>id=code>

sambomb.jpg

RCA Sistemas - Itaocara - RJ


id=quote>id=quote>

Mesmo que voce impeça a copia, basta o usuário passar o cartão em um leitor de codigos de barras de teclado, que ele terá o codigo e a senha do supervisor pelo prompt de comando ou em um editor de textos for windows e ai ele digitará os dados no get.

Melhor é SOMAR caracteres especiais na senha ou no codigo do operador... é só uma idéia...

João Santos - São Paulo.

joao@pleno.com.br

Fone: (11) 3106-2832 / 5150-7341 - TIM

https://www.facebook.com/kapiaba

FWH 2.7 - xHARBOUR WorkShop.Exe

Link to comment
Share on other sites

code128

citação:

Rone qual padrão de código de barras consegue imprimir alguma senha criptografada? Code128, Code39...

citação:

cCodCriptografado := Encrypt( cCodigo, "PADRAO_PARA_CRIPTOGRFAR" )

Imprime cCodCriptografado como CODIGO DE BARRAS PARA O CARTAO

Depois no módulo para LER O CARTAO

cCodDescriptografado := Decrypt( cCodLIDO, "PADRAO_PARA_CRIPTOGRAFAR" )

Verificar no banco de dados...

Perfil.jpg


id=quote>id=quote>

Cleiton

FWH906+xHarbour, MySql, WorkShop, PellesC, FW20d+Clipper5.2+Clip53b

FotoCleitonForun.jpg


id=quote>id=quote>

Perfil.jpg

Link to comment
Share on other sites

Obrigado, esse padrão mesmo que estou utilizando.

citação:

code128

citação:

Rone qual padrão de código de barras consegue imprimir alguma senha criptografada? Code128, Code39...

citação:

cCodCriptografado := Encrypt( cCodigo, "PADRAO_PARA_CRIPTOGRFAR" )

Imprime cCodCriptografado como CODIGO DE BARRAS PARA O CARTAO

Depois no módulo para LER O CARTAO

cCodDescriptografado := Decrypt( cCodLIDO, "PADRAO_PARA_CRIPTOGRAFAR" )

Verificar no banco de dados...

Perfil.jpg


id=quote>id=quote>

Cleiton

FWH906+xHarbour, MySql, WorkShop, PellesC, FW20d+Clipper5.2+Clip53b

FotoCleitonForun.jpg


id=quote>id=quote>

Perfil.jpg


id=quote>id=quote>

Cleiton

FWH906+xHarbour, MySql, WorkShop, PellesC, FW20d+Clipper5.2+Clip53b

FotoCleitonForun.jpg

Link to comment
Share on other sites

Obrigado Kapiaba

citação:

citação:

citação:

Samir, como bloquear CTRL+C e CTRL+V dentro de um get?

citação:

coloque um código acima de 13 digitos preferencialmente e verifique o tempo entre o inicio da digitação e o final, bloqueie o ctrl+V, shift+insert e botão direito do mouse e assim só se o usuário digitar EXTREMAMENTE RÃPIDO.

Pode colocar 2 segundos ou 1,5 caso use milisegundos tb...

sambomb.jpg

RCA Sistemas - Itaocara - RJ

Editado por - sambomb on 12/06/2012 17:56:44


id=quote>id=quote>

Cleiton

FWH906+xHarbour, MySql, WorkShop, PellesC, FW20d+Clipper5.2+Clip53b

FotoCleitonForun.jpg


id=quote>id=quote>

Na TGet.prg tem um tratamento para isso já la no método KeyDown

Mas acho que seria assim:


oget:bKeyDown := { |nKey| TrataTecla(nKey) }

Function TrataTecla( nKey )

If nKey = Chr("c") .Or.;

nKey = Chr("C") .Or.;

nKey = Chr("v") .Or.;

nKey = Chr("V")

If GetKeyState( VK_CONTROL )

oClip := TClipBoard():New()

oClip:SetText("ERRO")

cGet := "ERRO"

oGet:Refresh()

end

end

Return

id=code>id=code>

sambomb.jpg

RCA Sistemas - Itaocara - RJ


id=quote>id=quote>

Mesmo que voce impeça a copia, basta o usuário passar o cartão em um leitor de codigos de barras de teclado, que ele terá o codigo e a senha do supervisor pelo prompt de comando ou em um editor de textos for windows e ai ele digitará os dados no get.

Melhor é SOMAR caracteres especiais na senha ou no codigo do operador... é só uma idéia...

João Santos - São Paulo.

joao@pleno.com.br

Fone: (11) 3106-2832 / 5150-7341 - TIM

https://www.facebook.com/kapiaba

FWH 2.7 - xHARBOUR WorkShop.Exe


id=quote>id=quote>

Cleiton

FWH906+xHarbour, MySql, WorkShop, PellesC, FW20d+Clipper5.2+Clip53b

FotoCleitonForun.jpg

Link to comment
Share on other sites

Obrigado à todos que me deram dicas, acho que vou associar códigos asc e validação do tempo de digitação, como alguns citaram aqui. Inclusive o Dorneles me passou um exemplo bem prático.

Cleiton

FWH906+xHarbour, MySql, WorkShop, PellesC, FW20d+Clipper5.2+Clip53b

FotoCleitonForun.jpg

Link to comment
Share on other sites

citação:

Obrigado à todos que me deram dicas, acho que vou associar códigos asc e validação do tempo de digitação, como alguns citaram aqui. Inclusive o Dorneles me passou um exemplo bem prático.

Cleiton

FWH906+xHarbour, MySql, WorkShop, PellesC, FW20d+Clipper5.2+Clip53b

FotoCleitonForun.jpg


id=quote>id=quote>

PS:

Quando funcionando perfeito, poste um exemplo para ajudar os demais.

Abs, obg.

João Santos - São Paulo.

joao@pleno.com.br

Fone: (11) 3106-2832 / 5150-7341 - TIM

https://www.facebook.com/kapiaba

FWH 2.7 - xHARBOUR WorkShop.Exe

Link to comment
Share on other sites

Quando começo a digitação da senha, executo uma função que conta quantos segundos já se passaram, se já se passou x segundos do momento da digitação inicial até o enter ou clique no botão confirma, o sistema considera a senha como incorreta. Se o Dorneles autorizar eu posto aqui, pois ele que me passou a rotina. Lembrando que o Samir também citou utilizar este processo.

Cleiton

FWH906+xHarbour, MySql, WorkShop, PellesC, FW20d+Clipper5.2+Clip53b

FotoCleitonForun.jpg

Link to comment
Share on other sites

citação:

Quando começo a digitação da senha, executo uma função que conta quantos segundos já se passaram, se já se passou x segundos do momento da digitação inicial até o enter ou clique no botão confirma, o sistema considera a senha como incorreta. Se o Dorneles autorizar eu posto aqui, pois ele que me passou a rotina. Lembrando que o Samir também citou utilizar este processo.

Cleiton

FWH906+xHarbour, MySql, WorkShop, PellesC, FW20d+Clipper5.2+Clip53b

FotoCleitonForun.jpg


id=quote>id=quote>

Se o Dorneles não permitir, vou anotar aqui, e quando ele pedir alguma coisa aqui, será:

VAPT e VUPT nele... kkkkkkkkkkkkkkkkkkkkkk

abs,

João Santos - São Paulo.

joao@pleno.com.br

Fone: (11) 3106-2832 / 5150-7341 - TIM

https://www.facebook.com/kapiaba

FWH 2.7 - xHARBOUR WorkShop.Exe

Link to comment
Share on other sites


oGet:bKeyDown := {|nKey| TrataTecla( nKey ) }

function TrataTecla( nKey )

If Len( oSeuGet:oGet:Buffer ) <= 1

cTempoInicial := Time()

else

If nKey = 13 //-- Leitor de código de barras da Enter no final

If Secs( ElapTime(cTempoInicial,Time() ) ) > 2

Msg("Erro")

end

end

end

return nil

id=code>id=code>

sambomb.jpg

RCA Sistemas - Itaocara - RJ

Editado por - sambomb on 14/06/2012 08:15:13

Link to comment
Share on other sites

If Secs( ElapTime(cTempoInicial,Time()) ) > 2

Msg("Erro")

end

citação:


oGet:bKeyDown := {|nKey| TrataTecla( nKey ) }

function TrataTecla( nKey )

If Len( oSeuGet:oGet:Buffer ) <= 1

cTempoInicial := Time()

else

If nKey = 13 //-- Leitor de código de barras da Enter no final

If Secs( ElapTime(cTempoInicial,Time) ) > 2

Msg("Erro")

end

end

end

return nil

id=code>id=code>

sambomb.jpg

RCA Sistemas - Itaocara - RJ


id=quote>id=quote>

Cleiton

FWH906+xHarbour, MySql, WorkShop, PellesC, FW20d+Clipper5.2+Clip53b

FotoCleitonForun.jpg

Link to comment
Share on other sites

citação:Quando começo a digitação da senha, executo uma função que conta quantos segundos já se passaram, se já se passou x segundos do momento da digitação inicial até o enter ou clique no botão confirma, o sistema considera a senha como incorreta. Se o Dorneles autorizar eu posto aqui, pois ele que me passou a rotina. Lembrando que o Samir também citou utilizar este processo.
id=quote>id=quote>

Senhores analisando todas as postagens, mesmo que as senhas sejam criptografadas, o q dificulta mas não resolve, pois podem conseguir através de cópia/digitação, em bloco de notas ou outros e com isto consequentemente o sistema iria verificar q a STRING mesmo q criptografada ao ser descriptografada e validada estará correta autorizando determinada função....

A melhor alternativa, no meu ponto de vista, e q o colega definiu através do mix de idéias/sugestões acima expostas em sua citação, as quais transcrevo abaixo:

- Controle do tempo de inserção da senha, se for rápido presume-se q veio do leitor (seja serial, usb ou ps/2) se demorar presume-se que esta sendo digitado.

- Ao gerar os cartões com código em código de barras inserir antes da string do usuário uns 3 caracteres ASC de acesso somente através do ALT + CÓDIGO ASCII, que o usuário em geral, provavelmente não conseguiria, a não ser que tivesse conhecimento de códigos ASCII.

- Bloquear o CTRL+V, SHIFT+INSERT, botão direito colar

- Controle de LOG do que esta sendo feito.

- E por ultimo se com tudo isso acima o usuário/operador de caixa conseguir burlar, ai entra na sugestão de A EMPRESA TEM Q RESOLVER, q seria o ideal desde o início, mas existe uma 'pequena' distância entre o IDEAL e o REAL, ainda mais quando se trata em alguns casos com clientes com "características especiais" ou "delicados".

Se não estiver esquecendo nada acredito q estejam listadas a síntese das idéias dos colegas ao longo das postagens deste tópico.

[]´s

Link to comment
Share on other sites

Fladimir sintetizando mais ainda seria:

No código de barras ter caracter não digitável Asc(1) a Asc(31)

Bloquear: CTRL/SHIFT/ALT e botão direito do mouse

Verificar o tempo de digitação(opcional)

Caso CTRL/SHIFT/ALT/ botão direito estejam bloqueados não vai ser possível fazer os caracteres especiais e nem colados com CTRL+V ou SHIFT+INSERT ou pelo botão direito

sambomb.jpg

RCA Sistemas - Itaocara - RJ

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...