Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-07-2004
_Willa _Willa is offline
Miembro
 
Registrado: jun 2003
Ubicación: Madrid
Posts: 26
Poder: 0
_Willa Va por buen camino
Cool Password con Paradox

Buenas,

He creado una bd de tipo paradox desde el prog. database desktop
al cual le he introducido una password "password security"

Me gustaria saber cual es la mejor forma o mejor... cual es la
forma correcta de abrir una bd paradox con password
desde
dentro de un programa propio.
Independientemente de q sea facil la forma de reventar este tipo de bd.

He probado ha hacerlo asi:

TTable *db;
db = new TTable(NULL);

db->Exclusive = true;
db->TableType = ttParadox;
db->DatabaseName ="c:\Datos";
db->TableName = "Usuarios.db";
Session->AddPassword("master");
...
...
Session->RemovePassword("master");
delete db;

Funciona, pero no se si es la mejor forma de hacerlo.
Por cierto he leido por el foro varios mensajes de este tipo, pero
no he llegado a ninguna conclusion.

Inclusive no se a que se refiere uno, con poder saltar la clave
ya q lo he mirado el fichero desde un editor .hex y todo esta
encryptado, quizas se pueda saber sabiendo el comportamiento
del algoritmo de compresión al usar clave; si alguien tiene alguna
info sobre como saltar los ficheros paradox con clave, agradeceria
me lo indicaran.

Gracias, por todo.
Salu2
_Willa
Responder Con Cita
  #2  
Antiguo 20-07-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
El problema en sí es que existen dos Claves maestras para acceder a las tablas Paradox, via código o DabaseDesktop, por lo tanto por mucho que nos esmeremos en la clave y por muy encriptada que esté, el problema no es éste sino lo citado anteriormente, que quien conozca estas dos claves abrirá nuestras tablas sin tener que saber nuestra clave para ello.

jIGGAe
cupcdvum

|
|
|
Blanche ou l'oubli.

Un Saludo
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 21-07-2004
_Willa _Willa is offline
Miembro
 
Registrado: jun 2003
Ubicación: Madrid
Posts: 26
Poder: 0
_Willa Va por buen camino
Password Paradox

Me pregunto cuales son esas claves maestras, para acceder a las tablas Paradox ... Las sabes tu?, y si no, sabes donde puedo encontrar
esa información.

Por otra parte, dichas claves deben estan definidas o en el propio motor de
la bd o formadas dentro del fichero, si es este ultimo se podrian cambiar
sin problemas.

Saludos
_Willa
Responder Con Cita
  #4  
Antiguo 21-07-2004
_Willa _Willa is offline
Miembro
 
Registrado: jun 2003
Ubicación: Madrid
Posts: 26
Poder: 0
_Willa Va por buen camino
Bueno...

He estado buscando y he encontrado una buena información sobre
las tablas paradox.

La podeis encontrar en:
http://www.rksolution.cz/Delphi/px3p.rtf

Salu2
_Willa
Responder Con Cita
  #5  
Antiguo 21-07-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Las claves te las he puesto, justo encima de donde dice "Blanche ou l'oubli", famosa obra de Louis Aragon.

Claro lo he puesto en color blanco por eso no las ves.

Pulsa botón izquierdo del raton y selecciona ese area y verás las claves.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 21-07-2004
_Willa _Willa is offline
Miembro
 
Registrado: jun 2003
Ubicación: Madrid
Posts: 26
Poder: 0
_Willa Va por buen camino
Cool

Ahhhh ... si

No me habia fijado en ese pequeño detalle.

Por cierto, si alguien quiere detallar más, puede buscar:

...open a password-saved paradox database without knowing the
password ?

... y encontrará algo mas de detalle sobre password.

Por Ultimo, no se si tu has llegado ha hacer pruebas con password
con paradox, lo digo por lo siguiente:

En una aplicación donde se mezclan tablas con/sin password,
cual seria la forma de tratarlas, es decir pondria al inicio el
Session->AddPassword("master"); y valdria tanto para las tablas
con/ sin password o si pongo esto afectaria a las tablas q no
tengan password
... o por el contrario pongo esto de Session->AddPassword("master");
solo en el bloque donde abra la tabla con password y luego al finalizar
el bloque poner un Session->RemovePassword("master");

Me preocupación es al usar tablas con password puedan afectar de
alguna forma a las tablas que no lo usen.

¿ Cual es la mejor forma de tratar todo esto ? ¿ Alguna Idea ?

Gracias x Todo.
Saludos
_Willa
Responder Con Cita
  #7  
Antiguo 22-07-2004
Avatar de Pablo Carlos
Pablo Carlos Pablo Carlos is offline
Miembro
 
Registrado: jun 2004
Ubicación: Mendoza - Argentina
Posts: 270
Poder: 20
Pablo Carlos Va por buen camino
Concretito y al grano
¿Como abrir una una tabla paradox que tiene password?
Con el DataBaseDesktop y usando la clave:
cupcdvum
Con la password maestra de Paradox:
jIGGAe
y muy creativo lo tuyo...el de poner en blanco la clave
Saludos Pablo
__________________
Por qué todas las personas saben exactamente cómo debemos vivir nuestra vida, y nunca tienen idea de cómo deben vivir sus propias vidas.

Última edición por Pablo Carlos fecha: 22-07-2004 a las 00:40:40.
Responder Con Cita
  #8  
Antiguo 22-07-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
_Willa, si tienes tablas sin password y otras con elllas, simplemente haz como si todas tuviesen password, no pasa nada, además así ya lo tienes preparado por si más adelante tienes que ponerles claves.

Si al abrir una tabla, ésta tiene clave, pedirá el evento del Session OnPassword (que mejor sitio que aquí para añadir la contraseña si no se ha hecho ya, y dejar que todo continue ) eso si, poniendo LoginPrompt a false de la tabla.

Si la tabla no tiene clave, simplemente no pedirá el evento OnPassword y seguriá adelante.

Saludos
Responder Con Cita
  #9  
Antiguo 22-07-2004
_Willa _Willa is offline
Miembro
 
Registrado: jun 2003
Ubicación: Madrid
Posts: 26
Poder: 0
_Willa Va por buen camino
Gracias _Lepe,

He realizado lo que me has indicado, pero lo de ....
"poniendo LoginPrompt a false de la tabla." no me cuadra, querras
decir ponerlo a true, si es lo que creo y sino como se usa
el LoginPrompt.

¿ Te refieres q es el parametro del evento onpassword ?


Por cierto he encontrado en la Ayuda de Builder en el apartado:

DevGuide: Developing database applications
Working with password-protected Paradox and dBASE tables


Se puede llegar aqui tecleando OnPassword, y dando F1
despues seleccionar "See Also" y por ultimo ...
Working with password-protected Paradox and dBASE tables

Gracias por Todo
Saludos
_Willa
Responder Con Cita
  #10  
Antiguo 23-07-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
aro, aro.... imposible que te cuadre, el LoginPrompt es una propiedad del TDatabase, no de la tabla. Y sí, has de ponerlo en valor falso. De esta forma el usuario no recibirá un cartelito diciendole : introduzca nombre de usuario y password para continuar.(este mensaje saldría por cada tabla que tuviese password al intentar abrirla !!!)

Si loginPrompt está a falso, y la tabla tiene password, el usuario no verá el cartel, pero tampoco se abrirá con éxito.

Hasta ahora he supuesto que no has añadido contraseñas al Session con AddPassword. Si la añades así :
Código Delphi [-]
procedure TDTM.MiSessionPassword(Sender: TObject; var Continue: Boolean);
begin
    { DONE -cMOTOR BD : Contraseñas para tablas }
  MiSession.AddPassword('cuñaaaaaaaaoooooo');
  Continue:= true;
end;

Si la contraseña no es la correcta:
- LoginPrompt a falso ==> no se puede abrir la tabla, error al intentar acceder a ella
- LoginPrompt a true ==> mostrará la ventana para loguear.

Contrasña correcta:
- no importa LoginPrompt. Las tablas se abren.

Espero que no te haya liado más , como mejor se vé es haciendo pruebas.

Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 16:31:31.


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
Copyright 1996-2007 Club Delphi