** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - proteccion del backEnd
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoproteccion del backEnd

 Responder Responder
Autor
Mensaje
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 508
Enlace directo a este mensaje Tema: proteccion del backEnd
    Enviado: 21/Enero/2016 a las 22:40
hola,

tengo mi base de datos dividida en front-end y back end, y pretendo que el back-end no pueda ser abierto, y solo accedido desde el front end.

hasta ahora lo que hice fue crear una macro autoexec en el back-end, que hace lo siguiente :
1 -  me desabilita na tecla shift,
2 -  me retorna un mensage " No se permite abrir este fichero , bla,bla ........ "
3-   sale de la aplicacion

Esto funciona, pero el problema es que alguien puede crear una base de datos nueva  y importar los datos de la original, y de esa forma manipular los datos que quiero tener completamente seguros.

Alguna otra forma de conseguir esto ?
Un saludo


Editado por cpampasPT - 22/Enero/2016 a las 00:20
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 5272
Enlace directo a este mensaje Enviado: 22/Enero/2016 a las 00:48
Hola!

Lo que puedes hacer es ocultar las tablas y consultas por código VBA y de esta forma quedan invisibles y por lo tanto no se puede importar.

Public Sub Ocultar()
For Each myObject In Application.CurrentData.AllTables
If Not (myObject.Name Like "Msys*") Then
Application.SetHiddenAttribute acTable, myObject.Name, True
End If
Next myObject
For Each myObject In Application.CurrentData.AllQueries
If Not (myObject.Name Like "Msys*") Then
Application.SetHiddenAttribute acTable, myObject.Name, True
End If
Next myObject
End Sub



Public Sub Mostrar()
For Each myObject In Application.CurrentData.AllTables
If Not (myObject.Name Like "Msys*") Then
Application.SetHiddenAttribute acTable, myObject.Name, False
End If
Next myObject
For Each myObject In Application.CurrentData.AllQueries
If Not (myObject.Name Like "Msys*") Then
Application.SetHiddenAttribute acTable, myObject.Name, False
End If
Next myObject
End Sub
Un Saludo.
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 12123
Enlace directo a este mensaje Enviado: 22/Enero/2016 a las 00:52
Partiendo de la base de que ningun sistema es inviolable, lo que tienes que hacer es poner las máximas trabas possibles.
Entre las cosas que no has mencionado existe un password en la backend. Ya sabemos que existe software para saltarse eso pero algo es algo.
Otra traba es "ocultar las tablas" dentro de la base de datos.
También puedes esconder la backend con otra extensión de forma que se más dificil de encontrar.


Xavi, un minyó de Terrassa

Mi web
Arriba
Chea1 Ver desplegable
Moderador
Moderador


Unido: 20/Noviembre/2005
Localización: España
Estado: Sin conexión
Puntos: 4071
Enlace directo a este mensaje Enviado: 22/Enero/2016 a las 08:45
Saludos
José Bengoechea Ibaceta
Mi página

Mi otra página
Arriba
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 508
Enlace directo a este mensaje Enviado: 22/Enero/2016 a las 09:30
Gracias por Vuestras opiniones.
Como sigo con Access 2003, y no tener la seguridad de las versiones posteriores ( como sugiere el link de Jose), creo que intentare, lo que me dice Mounir, y os comentare el resultado
Saludos
Arriba
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 508
Enlace directo a este mensaje Enviado: 22/Enero/2016 a las 09:51
Oculte las tablas en el backend, executando el codigo de mounir  en una macro autoexec, lo que impide la importacion de la tablas, parece la solucion para lo que pretendo, pero  :

- si un usuario intenta entrar en el backend directamente, al executar la macro auto exec, cierra automaticamente el backend
- si por otro lado se intenta importar las tablas desde una nueva base de datos, no hay tablas visibles,  con lo cual no hay importacion.

el comentario de Xavi de que "ningun sistema es inviolable", me hace preguntar, como podria un usuario "experto" en Access, acceder  a los datos con estas trabas ? Seguiria habiendo ese riesgo ?

Un saludo
Arriba
E. Feijoo Ver desplegable
Moderador
Moderador


Unido: 16/Abril/2004
Localización: España
Estado: Sin conexión
Puntos: 19948
Enlace directo a este mensaje Enviado: 22/Enero/2016 a las 10:58
Yo siempre he partido de que la 'información' es propiedad del usuario, del programador solo es la propiedad intelectual sobre la aplicación (que el ha desarrollado, no copiado) y es cuestión suya el ceder los derechos de explotación a la empresa que le paga.

¿Qué métodos aplicar para proteger la información? ...
Dependerá de contra que o quien protegerla y en informática el esfuerzo a aplicar depende solo del valor del botín a obtener (como casi todo en esta vida sea cual sea el botín ... un buen trabajo, la compañera de nuestros sueños .... etc.)

No hace falta pues un 'experto muy experto' y cuanto menos conocido sea el método, menos tendrán el esquema a violar delante de su nariz (aunque no lo vean).

Para protecciones de mayor rango ... otro entorno (por ejemplo su 'hermano mayor': SQL Server u similar)
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 12123
Enlace directo a este mensaje Enviado: 22/Enero/2016 a las 12:46
Como dice Enrique, los esfuerzos dependen del botín. 

Voy a poner un ejemplo desmesurado y suponiendo que quisiera hacer un uso totalmente ilegitimo de la información.

Para acceder al listado de códigos postales no me esforzaré demasiado.
Para acceder a la lista de clientes de mi la competencia y su facturación me podría esforzar un poco más.

A partir de ahí decides si la información que contiene tu backend es botín suficiente como para que merezca la pena dedicar grandes esfuerzos en garantizar su privacidad.

Y, si decides que si merece la pena, entonces dedicale esfuerzo y, si es necesario, pásate a otro sistema más robusto (como dice Enrique)
 
Xavi, un minyó de Terrassa

Mi web
Arriba
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 508
Enlace directo a este mensaje Enviado: 22/Enero/2016 a las 13:14
En cuanto a "la informacion ser propedad del usuario", no se si hacienda estara muy de acuerdo con  relacion a los programas de facturacion Wink

Gracias por Vuestra ayuda, de momento lo dejare con estas trabas, y a lo mejor en el futuro me paso a sql Server)

Saludos
Podeis cerrar el hilo.

Arriba
E. Feijoo Ver desplegable
Moderador
Moderador


Unido: 16/Abril/2004
Localización: España
Estado: Sin conexión
Puntos: 19948
Enlace directo a este mensaje Enviado: 22/Enero/2016 a las 13:39
La información es propiedad y responsabilidad del usuario, entendiendo como 'usuario' al ente que la genera (si el 'ente' es una empresa u asociación, estará representada por su o sus gestores).

La entrada de hacienda en este punto es ... anecdótica, cualquier persona 'nace libre' y la ley consensuado por el entorno en que cohabita le puede privar de ella si incumple las reglas (no mezclemos churras con merinas).

Editado por E. Feijoo - 22/Enero/2016 a las 13:47
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable