Newsgroup: it.comp.lang.visual-basic
Titolo: Impedire o ostacolare modifica orario di Windows

Salve a tutti.
Ho un programma che deve scrivere dei logs in un file criptato ogni
volta che viene effettuata un'operazione importante su un database.
Ho notato (esaminando proprio quei logs) che gli utenti modificano a
piacimento l'orologio di Windows per far risultare nel database che un
lavoro è stato effettuato in una data diversa da quella effettiva.
Come me ne sono accorto? Semplice, il log l'ho ritrovato così:
[continua]
18/09/2008 - Aggiunta record numero x
18/09/2008 - Modifica record x in abc
15/09/2008 - Aggiunta record numero xx
18/09/2008 - Aggiunta record numero xxx
18/09/2008 - Modifica record xx in bcd
[continua]
Ora, è evidente che quel 15/09/2008 non c'entra una mazza e l'orologio
è stato modificato da qualche furbacchione.
Esiste un metodo (possibilmente senza la necessità di connettersi a
internet) per verificare l'esatto orario? Ad esempio dal BIOS?
Oppure è possibile controllare se l'orologio di Windows è stato
modificato nelle ore recenti?
Ciao!


Fai accedere gli utenti al sistema come "User" e non "Administrator". In 
questo modo non hanno i privilegi necessari per cambiare l'ora di sistema.
-- 
Ciao
Geppo 

 questo modo non hanno i privilegi necessari per cambiare l'ora di sistema.
Intanto grazie per la risposta.
Ci avevo pensato, ma facendo così limiterei moltissimo le operazioni
che devono svolgere quotidianamente. A loro serve l'administrator...
Ciao!

 modificato nelle ore recenti?
Da Windows per gli utenti c'è la possibilità di bloccare il cambiamento
di orario.
Ovvio che se tutti lavorano come Administrator c'è qualcosa da rivedere
a livello di organizzazione per l'azienda...
-- 
Freccia@Bulldozer63 :D

 di orario.
OK, ma da codice non si può fare niente? Un metodo 'sicuro' per
ottenere l'orario da Internet? A cosa mi connetto?
Ciao!

 che devono svolgere quotidianamente. A loro serve l'administrator...
Non esiste che serva l'administrator a tutti se l'azienda č un minimo
seria.
Ad ogni modo, potresti scrivere da ogni client l'orario, o se il DB sta
sul server dovrebbe esserci la possibilitŕ di prendere l'orario da lě,
del tipo 
INSERT INTO TABELLA Data,Descrizione VALUES CURRENT_DATE,'pippo';
Se il DB č in locale puoi creare un programmino che guarda le date di
modifica di alcuni files, oppure fa un controllo periodico; ma fa
schifino.
Oppure nella tua tabella metti un campo contatore, che si incrementa da
se, e l'ordinamento lo fai su quello e non sulla data/ora. Poi metti
anche l'utente cosě sai chi č.
Ma non vedo il problema che uno non puň cambiare la data al PC. Su
alcuni vecchi gestionali era anche necessario per lavorare sugli anni
precedenti a quello corrente.
-- 
Freccia@Bulldozer63 :D

 precedenti a quello corrente.
Ok, però è logico che se inizi un lavoro il giorno B non puoi far
credere a tutti che l'hai fatto il giorno A.
Provo con la query, grazie!

ottenere l'orario da Internet? A cosa mi connetto?
Guarda qua se c'è qualcosa di utile...
http://magazine.cerca.com/netnews/as-36/
--
Ciao Fede
By Chicco Production
http://bcp.freetools.it


Grazie.
Teoricamente potrei esaminare l'html di quella pagina ed ottenere
l'ora dal mio programma. Ma se viene modificato il layout del sito o
qualche altra cosa?
Mi sembra di aver letto da qualche parte che c'è una particolare porta
a cui connettersi che restituisce l'ora di quel server... infatti
penso che Windows per determinare automaticamente l'ora faccia proprio
così. Devo trovare la porta giusta...

 ottenere l'orario da Internet? A cosa mi connetto?
Così a occhio un winsock  e protocollo ntp. Gugla per "rfc ntp",
o vai su http:\\
www.ntp.org
.
Alla peggio puoi fare una shell a "Net time [nomeserver]".
Bye, G.

 Cosě a occhio un winsock  e protocollo ntp. Gugla per "rfc ntp",
Ops...
http://www.google.it/search?q=ntp+vb
Bye, G.

Salve a tutti.
E farti una tabella con due campi: (Contatore, Data_Ora) che scrivi ad ogni 
apertura dell'applicativo? Ad ogni avvio di procedura controlli il campo 
Data/ora dell'apertura precedente. Se inferiore chiudi tutto, magari con un 
messaggio che spiega il perché.
E' solo un'idea, ma visto che anch'io ho un sistema simile ... :)
Ciao.
eSQueL 


Cercavo proprio una cosa del genere, grazie!

 ha scritto nel messaggio

Anche a questa ottima cosa non ci avevo pensato: i pc non devono
necessariamente essere connessi a internet ed è un sistema abbastanza
efficace, che funziona sia che la data venga cambiata a programma
chiuso che a programma aperto.
Grazie anche a te!