Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-11-2015
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Control de usuarios

Estuve buscando pero no encontré alguna respuesta indicada.
La recomendación, en firebird, algunos di es guardse las contraseñas en una tabla de la, bd pero no lo veo conveniente, alguna idea de si hay otra opción?.
Por otro lado, para controlar los permisos o a q partes pueden estsr autorizados, eso se vería, o, sería más bien como un array?

Gracias a, todos
Responder Con Cita
  #2  
Antiguo 09-11-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
En realidad se ha hablado por los foros

Hay muchas formas de implementarlo. Una clasica y facil pero no lo mas flexible que gustaria, es almacenando un flag integer separando en modulos tu programa; luego cuando inicializas los formularios activas/desactivas botones, actions, etc
Responder Con Cita
  #3  
Antiguo 09-11-2015
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Buscaré en los foro s de nuevo.
Gracias
Responder Con Cita
  #4  
Antiguo 09-11-2015
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Cita:
Empezado por anubis Ver Mensaje
Buscaré en los foro s de nuevo.
Gracias
Perdón. Se agradece la respuesta, veré si hay más respuestas de lo mismo en los foros. Y de paso veré esa, opción q me dices porque ando bloqueado.
Responder Con Cita
  #5  
Antiguo 09-11-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Exactamente, ¿qué duda tienes, anubis?
Responder Con Cita
  #6  
Antiguo 09-11-2015
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por anubis Ver Mensaje
La recomendación, en firebird, algunos di es guardse las contraseñas en una tabla de la, bd pero no lo veo conveniente
¿Porqué no lo ves conveniente?
Es un dato como otro cualquiera (visto informáticamente y a la hora te tratarlo) por lo tanto hay que hacer con él lo mismo que harías con los otros; Guardarlo en la Base de Datos.
Al ser contraseñas, lo lógico es que estén encriptados, pero por lo demás es como cualquier otro.


Cita:
Empezado por anubis Ver Mensaje
para controlar los permisos o a q partes pueden estsr autorizados, eso se vería, o, sería más bien como un array?
Dependerá de qué quiereas controlar y como.
En ese sentido das muy pocos detalles para saber qué estructura se debería almacenar.
En cuanto a lo que comentas de que "eso se vería", pues se aplica lo mismo dicho anteriormente. Si es necesario, se encripta el dato y listo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 09-11-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Habría que preguntarle al jefe que información considera de carácter más sensible, si las contraseñas o "todo lo demás"
Responder Con Cita
  #8  
Antiguo 10-11-2015
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Busca UserControl Components, es un componente brasileño que anda por ahi y que viene con fuentes y todo. Hace todo lo necesario para controlar usuarios y maneja solito toda la gestión de los mismos sin que metas ni una sola línea de código. Yo los uso desde hace años y nunca me han dado problemas.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #9  
Antiguo 13-11-2015
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Gracias por las respuestas.

Pues veréis, es muy gracioso porque tenemos instalado en la empresa una aplicación en la, q la base de datos esta en firebird instalada en el servidor y sin csmbiar la clave por defecto. Con un control de usuarios donde se guardan en una, tabla dentro de la misma base de datos y sin encriptar las contraseñas por lo q es muy fácil verlas. De ahí q preguntara si era conveniente o no hacerlo así.
Evidentemente mi idea era meter la base de datos en un servidor sin acceso físico, csmbiar la clave maestra, cambiar el puerto y ponerle alias.

Por otro lado, la respuesta de Flags me parece interesante a falta de otra idea, como la, del componente brasileño q recomendáis q lo voy a buscar.

Ya os diré como me fue

Gracias amigos.
Responder Con Cita
  #10  
Antiguo 13-11-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Por supuesto, las claves y campos "críticos" hay que guardarlos cifrados,
Responder Con Cita
  #11  
Antiguo 13-11-2015
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Las contraseñas se debería hacer un hash en lugar de cifrar... me explico:

pides usuario y contraseña, haces un hash de la contraseña y comparas ese hash con el que está en la Base de datos. Si se hace con el nombre de usuario, mejor.

Se hace así porque no hay posibilidad de "desencriptar" y como dato sensible que es, nadie debería saber qué contraseña usa el usuario o el administrador del programa. Por supuesto debe haber una opción para "resetear" o machacar la contraseña actual si eres el administrador.

Lo del hash al nombre de usuario es porque si alguien ve que hay un usuario "pablo" y sabe el día que nació su hija... pues ya sabe la contraseña
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #12  
Antiguo 13-11-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Responder Con Cita
  #13  
Antiguo 14-11-2015
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Lepe Ver Mensaje
Las contraseñas se debería hacer un hash en lugar de cifrar... me explico:

Se hace así porque no hay posibilidad de "desencriptar" y como dato sensible que es, nadie debería saber qué contraseña usa el usuario o el administrador del programa.
No. Casi-correcto, pero casi-correcto en seguridad es igual a incorrecto .

Cuando hay que proteger un dato? Se encripta. Hashear hace parte del proceso en algunas formas, pero un hash no es seguro.

Un hash es:

https://en.wikipedia.org/wiki/Hash_function
Cita:
A hash function is any function that can be used to map data of arbitrary size to data of fixed size.
Es posible deducir el valor de un hash? Por supuesto. De hecho se hace TODO EL TIEMPO. Le suenan las "hash tables"?.

Asi que luego piensan: "Claro hombre, es que hay que saltear!". Y si se pega/copia sin pensar un ejemplo en la web, puedes terminar con algo errado:

https://en.wikipedia.org/wiki/Salt_(cryptography)
Código:
A new salt is randomly generated for each password. In a typical setting, the salt and the password are concatenated and processed with a cryptographic hash function
Noten que menciona: Por cada password, saltear (muchos ejemplos tienen un salt global), y que se debo usar un hash criptografico (ie: probado para encriptar).

Por lo tanto "hash sin cifrar" es todo lo contrario de lo que se debe usar para guardar un password.

P.D: Para los que no estan al tanto: PBKDF2, bcrypt, scrypt son los que se pueden usar. Utilizar una libreria confiable hecha por expertos. JAMAS hacer "encriptacion" de tipo casera en un entorno serio de produccion. Si leen este mensaje en unos meses, es probable que todas o algunas de las funciones mencionadas dejen de ser seguras! Siempre chequea cuando es cosas de seguridad y no creas ciegamente lo que te dicen, aun cuando lo diga YO!

----

Tener usuario/clave NO ES SEGURIDAD.

Autenticación, autorización, privacidad, integridad, seguridad son conceptos relacionados pero diferenciados.

----

Hacer una app segura es basicamente decir que es una app *correcta*. Por ejemplo, las injecciones SQL existen porque se usan cadenas de texto cuando realmente se quiere decir fragmentos de un lenguaje SQL. Osea, es una falla de asignar el tipo errado al dato.

De igual manera, mantener la privacidad/integridad de la informacion es lo mismo que hacer una app *correcta*. Si es posible acceder a los datos remotamente, y se cree que "mis claves tienen hash salteados!" es lo que lo hace seguro, es asignar el acceso errado al dato.
__________________
El malabarista.
Responder Con Cita
  #14  
Antiguo 14-11-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Responder Con Cita
  #15  
Antiguo 14-11-2015
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Y eso como se hace, q quedaría guardsdo o como
Responder Con Cita
  #16  
Antiguo 15-11-2015
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
No se si sera correcto, pero lo que hice fue usar en lazarus el componente FBAdmin, que me permite tratar directamente con los usuarios almacenados directamente en firebird y solo voy a meter los usuarios encriptados en una tabla de la base de datos para asignarles flag en base a que opciones pueden o no usar.

Si lo veis correcto?.

Gracias
Responder Con Cita
  #17  
Antiguo 15-11-2015
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Programar al estilo voodo ("pinchemos a ver donde duele") nunca es buena idea. Al igual que siempre, el camino a la respuesta correcta es la pregunta correcta. Del mismo modo, cual, exactamente, es el problema que tienes?

Especificamente:

Que es lo que pretendes proteger?

Aunque seguramente terminaras usando librerias/componentes hechos por otros, sino tienes claro que es lo que quieres proteger, no sabras si al usuarlo estaras haciendo bien o mal...
__________________
El malabarista.
Responder Con Cita
  #18  
Antiguo 16-11-2015
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Hola,
Mira la base de datos esta, alojada en un, servidor al, q no tienen acceso físico. Los datos, la verdad no se cuales se deben o no de proteger, solo es para desarrollar o mejorar el producto, que, finalmente, es transparente para el usuario final, solo podrá acceder a, donde se le permita
Responder Con Cita
  #19  
Antiguo 16-11-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No sé si no te entiendo, pero tú tienes que saber PERFECTAMENTE qué requiere el cliente para poder decidir qué vas a hacer y cómo vas a hacerlo.
Si tú no conoces PERFECTAMENTE los requerimientos del cliente, luego te encontrarás con los problemas típicos de: "Eso no es lo que yo quería", "Yo esperaba que esto funcionase de otra forma", "Esto no se parece a lo que hablamos", etc.
Responder Con Cita
  #20  
Antiguo 17-11-2015
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Gracias por todas las respuestas,

Vereis todavia no se como voy a hacer todo el programa.
Nose si lo voy a hacer en linux o windows, nose que componente usar para firebird, que es con lo que me muevo, porque usaba zeos que es multibase, pero queria usar el que trae por defecto lazarus o bien los componentes ibx que segun, son mas rapidos pero estos ultimos no dejan cambiar el puerto por defecto.

Asi que el cliente digamos que soy yo mismo, la verdad, mi mujer con otros socios van a poner una farmacia y lo que van a querer es lo normal para cualquier empresa de ventas de productos, que no lo tengo complicado, ya hice una parecida para una tienda, pero en este caso queria perfeccionarla mas y no andar con parches posteriores.

La estructura la tengo mas o menos hecha, pero me falta implementarla.

Por eso preguntaba la mejor manera de gestionar usuarios, tanto al solicitar el login y contraseña (que ya me habeis dicho que las encripte, algunos con hash y otros decis que no).

Mi idea inicial era esa, tener la base de datos en un servidor, con la base de datos en alias y luego el programa cliente que acceda a ella. Quiza encriptar el archivo ini que es donde va a estar los parametros de conexion para que no se vean.
Lo de usar linux es simplemente por experimentar pero me vais a decir que si experimento y no funciona el sistema se podria caer sino lo domino.

Asi que bueno, resumiendo las posiblidades que me habeis dado podria hacer lo siguiente:

Encriptar los usuarios y las passwords de la base de datos,
usar flags en una tabla para ver bien a que pueden acceder los usuarios o que se les permite.

De ahi ir viendo las opciones que van saliendo.

Si bien es cierto que algunas cosas de este post no debieran de ir aqui, si las comento de pasada.
Si estuve buscando tambien la opcion de conectar una terminal bancaria al programa pero creo que es muy complicado y la otra opcion seria la de facturacion; como no estoy registrado en hacienda como generador, tengo que buscar un programa de facturacion registrado para que, con una pasarela o intermediario, le pase los datos para la factura.

disculpadme de verdad por tanta pregunta y muchas gracias por todas las respuestas.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Control de Usuarios segun Tablas diegonazaruka Firebird e Interbase 10 22-03-2010 17:46:52
Control de usuarios KeyMan HTML, Javascript y otros 4 20-04-2006 10:13:41
Componente para Control de usuarios El_Chava Noticias 3 07-09-2005 14:45:52
Control de Usuarios JamesBond_Mx Conexión con bases de datos 2 15-07-2005 03:55:51
Control de usuarios concurrentes Toni Providers 2 02-08-2004 15:43:17


La franja horaria es GMT +2. Ahora son las 00:01:47.


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