Punto débil

05/10/2008 - 19:24 por Romeo Azueta | Informe spam
Hola amigos, tengo unas macros en Excel para regitrar datos, en este proceso
es de suma importancia la hora del registro, yo no soy quien usa la macro
pero si el que revisa los registros. La macro registra la hora del sistema y
bloquea la celda para evitar modificarla, sin embargo, algunos usuarios
modifican la hora para que aparentemente el registro se haya efectuado a la
hora correspondiente hasta este puento le he dado una solución, llevando un
contador de tiempo con GetTickCount, tomo de referencia la hora del sistema y
la guardo, con GetTickCount (tiempo desde que se ha iniciado Windows) comparo
la hora, osea si guardé 12:25:30, ejecuto la macro a las 12:50:30 y "leo"
GetTickCount, la diferencia entre el contador "personal" y 12:25:30 me da
12:50:30, con ello pesco si la la hora del sistema ha sido modificada,
funciona muy bien pero el punto débil es (y es que hay usuarios muy
curiosos), si modifico la hora, reinicio la máquina con la hora "falsa" pues
ni llevando el tiempo con GetTickCount me sirve porque toma esa hora "falsa"
de referencia, existe alguna forma que pueda servirme para tomar una hora
real?, corroborrar con un servidor no me sirve porque a pesar de estar en red
sólo hay comunicación entre las máquinas para enviar y recibir correo
interno, bloquear la manipulación del la hora del sistema no puedo por
politicas de la empresa, alternativas?, gracias.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
06/10/2008 - 02:13 | Informe spam
hola, Romeo !

segun parece...
el "punto debil" NO esta en la programacion o alternativas posibles de programar
sino en la falta de personal "honesto"... de fiar... responsable de sus acciones, etc. en (toda ?) la organizacion
y ademas, este punto debil "se agiganta" por algunas de las restricciones de las politicas empresariales...
-> no bloqueos a la "manipulacion" de la hora del sistema
-> no "salidas" a la web
-> solo correos "inter-equipos", etc.

alternativas ?...
a menos que puedas "pasarla" enviando correos "inter-equipos" (asi todos se verian obligados a "sincronizar" la misma hora "falsa")
sugiero que obtengas autorizacion para "salir a al web" y prevenir manipulaciones a la hora del sistema (reiniciando con horas "convenientes")
-> visitando sitios como los que encuentras aqui: http://search.live.com/results.aspx...-SearchBox
(por tus macros podrias depositar una hora "estandar" o quiza, la que corresponda a la localidad del operador/usuario) -???-

saludos,
hector.

__ OP __
... tengo unas macros en Excel para regitrar datos, en este proceso es de suma importancia la hora del registro
yo no soy quien usa la macro pero si el que revisa los registros.
La macro registra la hora del sistema y bloquea la celda para evitar modificarla, sin embargo
algunos usuarios modifican la hora para que aparentemente el registro se haya efectuado a la hora correspondiente
hasta este puento le he dado una solucion, llevando un contador de tiempo con GetTickCount
tomo de referencia la hora del sistema y la guardo... comparo... si guarde 12:25:30, ejecuto la macro a las 12:50:30
y "leo" GetTickCount, la diferencia entre el contador "personal" y 12:25:30 me da 12:50:30
con ello pesco si la la hora del sistema ha sido modificada, funciona muy bien pero
el punto debil es (y es que hay usuarios muy curiosos), si modifico la hora, reinicio la maquina con la hora "falsa"
pues ni llevando el tiempo con GetTickCount me sirve porque toma esa hora "falsa" de referencia
existe alguna forma que pueda servirme para tomar una hora real?. corroborrar con un servidor no me sirve porque
a pesar de estar en red solo hay comunicacion entre las maquinas para enviar y recibir correo interno
bloquear la manipulacion del la hora del sistema no puedo por politicas de la empresa, alternativas?, gracias.
Respuesta Responder a este mensaje
#2 MRoCFe
07/10/2008 - 00:18 | Informe spam
Hola! Romeo.
Me parece que una alternativa de salir a la Web (razonablemente
propuesta por Héctor Miguel), sería la siguiente macro:
_________________________________

Sub HoraCierta()
RutaAcceso = "C:\HoraCierta.txt"

Open RutaAcceso For Output Access Write As #1
Print #1, CStr(Now)
Close #1
Application.OnTime Now + CDate("00:00:01"), "HoraCierta"
End Sub
_________________________________


Esta macro renueva -cada segundo- la información de la hora actual,
colocándola en el archivo: C:\HoraCierta.txt.

Si este proceso corriese desde una máquina "confiable" y la ruta de
acceso fuese una carpeta de la Red, entonces la hora "real" sería ésta
y no la de la máquina que la usase.

En fin: es otra opción.
Saludos, Cacho.
Respuesta Responder a este mensaje
#3 Romeo Azueta
09/10/2008 - 15:30 | Informe spam
Héctor, tienes razón, es mucho más complejo el comportamiento del personal y
su sensibilidad al trabajo encomendado que la programación, y más con
políticas que “atan de manos”, gracias por tu sugerencia.
Cacho, muy amable por tu macro, el detalle es que no me puedo comunicar con
ninguna terminal para poder corre la macro, son máquinas semi-aisladas donde
corre la macro que he elaborado, desde y hacia ellas no pasa más que correo
interno. Estaría genial su pudiese obtener permisos para poder correrla.
Gracias chicos, muy atentos como siempre.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida