Página 1 de 1

Senha para banco de dados DBF

Enviado: 07 Out 2008 16:09
por lucimauro
Pessoal tenho um cliente que me ligou dizendo que um funcionario dele abriu o arquivo dbf pelo excel e alterou os valores, nao sabia que isso era possivel mas é o excel alterar a salva no mesmo formado sem problema.

Alquem usa senha para proteger os dbf, sem ser aquele metodo de alterar head do arquivo, se nao me engano o ROCINHA tinha dito por aqui que a lib sixnsx tem esse recurso.

Alguem tem outra ideia para que isso nao aconteça.

desde ja agradeço.

Re: Senha para banco de dados DBF

Enviado: 07 Out 2008 16:18
por Maligno
A biblioteca SIX realmente tem as funções sx_Encrypt() e sx_Decrypt(). Mas se estiver usando o programa em rede, já será um problema usá-las. Melhor seria encriptar os campos que não quiser que sejam alterados.

No caso do cliente, e se estivesse no lugar dele, dependendo da gravidade do que o funcionário alterou, mandaria embora esse infeliz. Ou, pelo menos adotaria alguma medida punitiva. Essa é a melhor maneira de evitar que isso se repita. Melhor que cuidar da segurança dos dados. Minha opinião. :)

Re: Senha para banco de dados DBF

Enviado: 07 Out 2008 23:25
por asimoes
Olá,

Eu tive problemas em relação a isto, até dbu usavam, mas encontrei uma solução para isto, criei um campo chksum em cada arquivo para validar os registros que poderiam ser alterados como valores de venda etc. Isso sem falar nada pro povo!. Advinha! começou a aparecer um monte de valores alterados, burlando o resultado. Mas o campo chksum dedurou tudo!

O campo chksum pode ser uma representação dos valores que você quer guardar mas codificados (encriptados)

Re: Senha para banco de dados DBF

Enviado: 07 Out 2008 23:29
por asimoes
O valor do campo chksum descriptado tem que ser igual ao valor do campo valor, ai você pega o malandro. Se o cara por acaso alterar o valor do campo chksum você invalida aquele registro e tambem fica sabendo da fraude. Você podem também guardar aqueles registros em outro lugar (escondido) só para compara-los mais tarde para saber se foram burlados.