Seguridad de DBC y DBF

25/08/2004 - 17:52 por smonjaraz | Informe spam
Estoy armando un proyecto con seguridad de DBC's y DBF's
el cual tiene codigo de desencadenadores y procedimientos
almacenados en la DBC.

Utilizo "dbc_BeforeOpenTable" para comprobar si se puede
o no abrir la Base de Datos, esto lo estoy haciendo para
que solo se pueda abrir la Base de Datos desde el sistema
o proyecto compilado EXE que la llama y no desde el VFP,
OBDC, OLE DB etc.. etc.. ya que estos procedimientos
mandaria un error, impidiendo tal accion.

Tengo en mi PC la version 3, 6, 7 y 9b de VFP, las tengo
por varias razones... ahora bien, esto lo estoy haciendo
en VFP 7 y funciona bien, no deja abrir por ningun lado
la DBC, mandando el error, pero por ejemplo, si abro una
tabla con VFP 3.0 manda un error, que dice asi:
////
OPEN TABLE
archivo.DBC The database for table archivo.DBF could not
be opened. Would you like to try to locate the owning
database or delete the link (and free the table).

LOCATE DELETE CANCEL
////

Pues bien, si le digo delete y la tabla se pudo abrir en
modo exclusivo, quita la liga que hay entre la tabla y la
base de datos, dejando la tabla como libre.

¿Como puedo hacer para proteger dichas tablas, sin que se
pueda quitar la liga. es para seguridad del sistema?.

si alguien me puede ayudar...

de antemano muchas gracias.

atte.
Samuel Monjaraz Vázquez
México DF

Preguntas similare

Leer las respuestas

#1 Alex Feldstein
26/08/2004 - 00:11 | Informe spam
On Wed, 25 Aug 2004 08:52:54 -0700, ""
wrote:

Estoy armando un proyecto con seguridad de DBC's y DBF's
el cual tiene codigo de desencadenadores y procedimientos
almacenados en la DBC.



Lamentablemente estas remando cuesta arriba. No existe seguridad en
DBC/DBF. Lo mas que puedes lograr es hacerlo un poco mas difícil a un
atacante sin experiencia.



Utilizo "dbc_BeforeOpenTable" para comprobar si se puede
o no abrir la Base de Datos, esto lo estoy haciendo para
que solo se pueda abrir la Base de Datos desde el sistema
o proyecto compilado EXE que la llama y no desde el VFP,
OBDC, OLE DB etc.. etc.. ya que estos procedimientos
mandaria un error, impidiendo tal accion.

Tengo en mi PC la version 3, 6, 7 y 9b de VFP, las tengo
por varias razones... ahora bien, esto lo estoy haciendo
en VFP 7 y funciona bien, no deja abrir por ningun lado
la DBC



Es facil de abrir, quizas no de tu programa, pero si desde cualquier
programa externo, como Excel, un editor de texto, un HexEditor o hasta
FP2.x


mandando el error, pero por ejemplo, si abro una
tabla con VFP 3.0 manda un error, que dice asi:
////
OPEN TABLE
archivo.DBC The database for table archivo.DBF could not
be opened. Would you like to try to locate the owning
database or delete the link (and free the table).

LOCATE DELETE CANCEL
////

Pues bien, si le digo delete y la tabla se pudo abrir en
modo exclusivo, quita la liga que hay entre la tabla y la
base de datos, dejando la tabla como libre.




Eso es porque VFP3 no entiende el formato del DBC cuano le pones
funciones como "dbc_*"


¿Como puedo hacer para proteger dichas tablas, sin que se
pueda quitar la liga. es para seguridad del sistema?.



Como digo arriba, no puedes. Lo primero por supuesto es no usar VFP3.

Si quieres mas seguridad, debes migrar a SQL Server o similar.
Con DBC/DBF lo mas que puedes hacer es encriptar datos y depender del
SO, asumiendo Windows Server (2000/2003.XP) con un buen sistema de
administracion, ACL, NTFS, etc.



Alex Feldstein
________________________________
Microsoft Visual FoxPro MVP
Please respond in the public groups so that everybody
can benefit from the exchange.
Favor de responder en los foros públicos asi todos se benefician.
(Address scrambled with ROT-13)
Respuesta Responder a este mensaje
#2 Rafael Ochoa
26/08/2004 - 05:27 | Informe spam
Lo siento yo trate de hacer eso y otras cosas durante mucho tiempo, incluso
encriptar las tablas, tambien trate de utilizar acces y mi consejo es que no
pierdas el tiempo con eso y utilizes MySql como motor de base de datos o
algun otro de tu preferencia.

Esta la puedes cerrar bastante bien y a la aplicacion le puedes poner
niveles de seguridad, en mi caso me ha funcionado bastante bien

y por cierto muy rapido
Respuesta Responder a este mensaje
#3 smonjaraz
26/08/2004 - 18:07 | Informe spam
Bueno, Alex y Rafael muchas gracias, imagine algo
parecido, pero luego no sabes uno hasta donde puede
llegar y como tengo la idea que cada dia aprende uno
nuevas cosas, no quise dejar esto al aire

Saludos a todos

BYE
Respuesta Responder a este mensaje
#4 Franklin Maza
27/08/2004 - 15:54 | Informe spam
Amigo yo tengo el mismo problema con la seguridad en un sistema medico
Y deseo migrar a un Motor de BDD, me interesa investigar MYSQL ya que
he escuchado buenos comentario de el.
Me puedes enviar a mi correo un ejemplo de como hago la conexion con
Mysql, como tratar los tipos de datos desde VFP y si no fuera mucho
un ejemplito de como hago un INSERT DELETE UPDATE
desde VFP a una BDD de Mysql
gracias y espero tu ayuda.





Rafael Ochoa escribió en el mensaje de noticias

Lo siento yo trate de hacer eso y otras cosas durante mucho tiempo,


incluso
encriptar las tablas, tambien trate de utilizar acces y mi consejo es que


no
pierdas el tiempo con eso y utilizes MySql como motor de base de datos o
algun otro de tu preferencia.

Esta la puedes cerrar bastante bien y a la aplicacion le puedes poner
niveles de seguridad, en mi caso me ha funcionado bastante bien

y por cierto muy rapido



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida