 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
JesúsGandia Master


Registrado: 17 Jul 2004Mensajes: 403Ubicación: Gandia, Valencia
|
Publicado: Dom 12 Jun, 2005 5:52 pm Asunto: Sobre Login en BDD Interbase |
|
|
Este codigo que he podido ver en el foro da problemas cuando haces una restauración sobre la base de datos:
| Código: |
void __fastcall TMDatos::IBDatabaseLogin(TIBDatabase *Database,
TStrings *LoginParams)
{
// (Cod("texto a codificar"));// funcion para codificar
LoginParams->Values["USER_NAME"] = Cod("Nombre de usuario codificado");
LoginParams->Values["PASSWORD"] = Cod("Clave codificada");
}
|
Y el proplema biene porque cuando haces una restauración primero debes de cerras la Base de datos, de lo contrario falla, y por otra parte si la cierras se pierde el login del evento IBDatabaseLogin.
Otra forma de hacerlo pudiendo poner la clave codificada es en el evento "OnCreate" del Modulo de datos con este codigo:
| Código: |
void __fastcall TMDatos::DataModuleCreate(TObject *Sender)
{
//Le paso los valores a TIBDatabase. Codificar es una funcion propia que
//Codifica un array con el segundo parametro a 1 y Decodifica con el seundo parametro a 0.
//Previamente le paso el array codificado, para que con un editor exadecimal no puedan ver las claves
MDatos->IBDatabase->Params->Values["USER_NAME"] = Codificar("xxxxxx",0);
MDatos->IBDatabase->Params->Values["PASSWORD"] = Codificar("xxxxxx",0);
//Le paso los valores a TIBBackupService. Codificar es una funcion propia que
//Codifica un array con el segundo parametro a 1 y Decodifica con el seundo parametro a 0.
//Previamente le paso el array codificado, para que con un editor exadecimal no puedan ver las claves
MDatos->IBDCopia->Params->Values["USER_NAME"] = Codificar("xxxxxx",0);
MDatos->IBDCopia->Params->Values["PASSWORD"] = Codificar("xxxxxx",0);
//Le paso los valores a TIBRestoreService. Codificar es una funcion propia que
//Codifica un array con el segundo parametro a 1 y Decodifica con el seundo parametro a 0.
//Previamente le paso el array codificado, para que con un editor exadecimal no puedan ver las claves
MDatos->IBDRestauracion->Params->Values["USER_NAME"] = Codificar("xxxxxx",0);
MDatos->IBDRestauracion->Params->Values["PASSWORD"] = Codificar("xxxxxx",0);
}
|
De esta forma puedes pasar todos los user_name y password a tantos componentes como secesites y poniendolo solo una vez no tendrás que volver a preocuparte de ello. Lo digo por si a alguien le pudiera interesar, de esta forma si cierras la Base de datos para restablecer una copia de seguridad no tienes problemas y puedes seguier trabajando con tu aplicacion. _________________ Muchos hombres no se equivocan jamás porque no se proponen nada razonable. |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Sab 13 Ago, 2005 7:00 am Asunto: |
|
|
hola ahora me toca preguntar, jeje
bien, me he dado cuenta que realiazte un programa TPV, para un restaurante, bien, tengo una duda, pudiste conectarlo via remota?, es decir trabajar con los usuarios locales y conectar otra terminal via remota,
es decir desde internet, si es asi, cuales fueron tus parametros, dentro de IBDataBase,
esto es a lo si guiente, mientras, yo realizaba una base de datos, TPV para una ferreteria, todo funcionó a las mil perlas, pero cuando conecto a un usuario dentro de la red, y esta esta siendo usada por las terminales de la red, la terminal remota se cuelga, es decir, dice que no existe el puerto para eventos.. cuando acabo de realizar la siguiente funcion, para copiar un archivo rc, (puesta en trucos), y copiar y abrir mis propios puertos dentro del servidor de firebird. me causa problemas, el por que de habrirlos pues por que con el 3050, me causaba conflicto, eso a que OJO, el puerto 3050 dado por interbase, es una puerta, hacia la base de datos, y si la persona, no modifica el SYSDBA-masterkey, se accede de manera muy facil, bien cambiando los puertos.. no existe esta entrada por parte de alguna persona extraña,
ahora bien, tus terminales las conectas, a la base de datos tanto remota como local, si es asi, que parte del servidor modificaste, si no es asi, la solucion que tengo funciona bien, pero quiero confirmar, si es el firebrid, al que tengo que hacerle una dll extra, o no lo intentaste conectar, de esa manera, el por que de esto mas que una pregunta
puede tomarse como una encuesta. para saber, la facilidad que tiene la demas gente para realizar un ping al 3050 de cualquier equipo..
saludos
vamos, esto es interbase, y como tal, siempre existe un bug de seguridad, lo unico que deseo es encontrar todos los que pueda para poder detener a personas indeseadas
un saludo estamos en contacto, si deseas mas informacion de lo que tengo Jesus, sabes que este foro o mi correo estan disponibles
hhhaaa!! Mr. Roberto, el foro ya esta perfecto.. saludos _LEO y Roberto R. Porcar.. _________________
 |
|
| Volver arriba |
|
 |
JesúsGandia Master


Registrado: 17 Jul 2004Mensajes: 403Ubicación: Gandia, Valencia
|
Publicado: Sab 27 Ago, 2005 5:32 am Asunto: |
|
|
Cesar, lamentablemente este tema, se escapa de lo que yo, hoy por hoy puedo albergar. Sobre tus preguntas, ahí van mis respuestas:
1.- Aun no he terminado mi aplicación, ya que estoy limando detalles, depurando, editando la ayuda… etc.…
2.- Actualmente varios PCs pueden acceder a mi BDD (Internase 7.1) sin problemas, ni con los accesos ni con los EVENTS.
3.- Actualmente tengo configurado todos los PCs con el puerto 3050 abiertos para que los datos y eventos sean bidireccionales.
4.- En cuanto a lo de acceder al servidor por Internet, la aplicación que estoy realizando no lo necesita, por tanto no me he preocupado de ello.
5.- De todas formas creo que si accedes al servidor por Internet, tarde o temprano te enfrentarás a varios problemas como son: Velocidad, obligatoriedad para el usuario de tener ADSL, constante servicio técnico por averías y mal uso.
6.- Otra cosa seria tener acceso al servidor por Internet, para obtener Datos, Consultas etc… hacer o restaurar copias de seguridad…
7.- El problema que tengo en cuanto al tiempo de desarrollo de TPV… es evidente; He empezado de CERO, lo que creo es mi primera aplicación SERIA. Ella comprende todas las ramas de la Hosteleria, y lo estoy desarrollando de tal forma que sé que la inmensa mayoría de mis posibles clientes no tienen ni han de tener ni idea de ORDENADORES. Por ejemplo para nosotros hay palabras tales como, directorio, base de datos, ficheros, disco duro etc… que son el pan nuestro de cada día, pero que al mismo tiempo suena a CHINO para ellos, y no puedo pretender que ellos entiendan mas de lo que es servir comidas o atender su negocio. En fin que estoy haciendo un TPV-BAR para por decirlo de alguna forma “PARA TONTOS”.
8.- Durante un tiempo, aquí en el foro me habéis ayudado muchísimo y lamento no poder ayudarte para una vez que me pides ayuda, y es que mis conocimientos son limitados como ya habrás podido comprobar.
9.- En cuanto a los eventos, los implemento en triggers desde el servidor.
10.- Tu citaste:
“pero cuando conecto a un usuario dentro de la red, y esta esta siendo usada por las terminales de la red, la terminal remota se cuelga, es decir, dice que no existe el puerto para eventos”
¿Dentro de la red local o a través de Internet?
Este planteamiento que expones, no lo acabo de entender. Te puedes explicar mejor. Por ejemplo: RED = Red Local, INTERNET = Red Remota. Si expones el problema mejor redactado, se te podrá ayudar mas.
Espero haberte ayudado aunque solo haya sido un poco. Hasta pronto. _________________ Muchos hombres no se equivocan jamás porque no se proponen nada razonable. |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|