Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Cómo Proteger mis datos... (https://www.clubdelphi.com/foros/showthread.php?t=37430)

Roilo 13-11-2006 17:15:17

Cómo Proteger mis datos...
 
Un abrazo al FORO.
Resulta que mi aplicación trabaja con tablas DBF. Les pregunto si existe la posibilidad de protegerlas, es decir que sólo mi aplicación tenga acceso a los datos que contienen esas tablas. Que ni el FoxProw pueda visualizarlas...
Gracias de antemano.

marcoszorrilla 13-11-2006 19:57:03

Mal lo tenemos, únicamente se me ocurre que abajo nivel entres en el fichero Dbf y le modifiques ciertos bytes de la cabecera para dejarlo imposible de acceder, esto lo tendría que hacer tu aplicación al cerrar y lo contrario al abrir.

Un Saludo.

Wonni 05-12-2006 12:09:51

Hola

Este es un tema al que yo tambien le he dado muchas vueltas, pues tengo varios programillas que trabajan con tablas .dbf

Con la solucion de Marcoszorrilla, ¿que pasa si se cierra el programa por las bravas? intencionadamente, o simplemente porque Windows lleva ya mucho rato sin colgarse, y decide que ya es hora. Esto me lleva a formular una pregunta:

¿Existe manera de controlar eso desde tu aplicacion?, me refiero a que la cierren desde el administrador de tareas.

Hace un tiempo, pense en otra manera de protegerlas(que no he llevado a cabo). Me gustaria conocer vuestra opinión:
Pensé en que con mi aplicacion se instalara un servicio (p.e. DBGuardian), que se encargara de que nadie pueda hacer nada en el directorio donde estan los .dbf o cualquier otro archivo. Lo llegue ha realizar y funcionaba, pero si entraba desde Linea de comandos, se acabo la seguridad :(
El caso es que al estar ejecutandose el servicio, nadie (desde GUIondos) podia hacer nada, ni siquiera mi aplicacion principal. Para ello deberia de estar en comunicacion con el servicio, o desactivar el servicio al iniciar mi aplicacion y al cerrarla, activarlo otra vez. Pero siempre volvemos a que si se cierra mal el programa... En fin.
Pero la paranoya fue mas lejos aun, cuando pense en crear un servicio que vigilara al primero, y el primero a este. Este tema lo discuti con ixMike. Y si .... borran la entrada en la clave RUN del registro :eek: pues nada, el DBGuardian la repone, pues la comprueba cada segundo :confused:
Y aqui es la otra duda que tengo. ¿seria conveniente algo asi? o ¿es mucho mas que una burrada?

El codigo que utilice para que no toquen el directorio lo saque de aqui, del club:


Cita:

Empezado por seoane
Si te llega con impedir que lo borren mientras tu programa se esta ejecutando puedes usar algo como esto:


Código Delphi [-]
var
hFile: THandle = INVALID_HANDLE_VALUE; // Variable global


// Para bloquearlo
hFile:= CreateFile(PChar('Archivo.doc'),GENERIC_READ,FILE_SHARE_READ,nil,OPEN_EXISTING,0,0);


// Para desbloquearlo
if hFile<>INVALID_HANDLE_VALUE then
CloseHandle(hFile);





Mientras este bloqueado los demas programas podran leerlo pero no podran escribir en el, ni borrarlo.

Espero que te sirva





Saludos !!


La franja horaria es GMT +2. Ahora son las 20:15:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi