Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Come interrogare un "timer server" per ottenere la data?

    Salve, vi espongo il mio problema.

    Ho un'applicazioe in VC++ 6.0. Ho la necessità d'interrogare un timer server, come per esempio time.microsoft.com o altri similari, così da ottenere la data corrente (gg-mm-yyyy).

    Vorrei utilizzare i socket. Qualcuno ha già risolto un problema simile o può fornirmi un link per qualche sito che ha del codice esemplificativo.
    Quali sono le istruzioni che mi permetono di ottenere dal server la data?

    Non ditemi di prendere la data del sistema dove gira l'applicazione perchè a me serve una data certa che non può essere modificata dall'utente.

    Grazie

  2. #2
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  3. #3
    Innanzi tutto grazie per la risposta... Ho dato un'occhiata ai link che mi hai proposto...

    La mia esigenza è molto più semplice a me serve solo la data: giorno, mese, anno....
    Ho scritto "timer server" ma potrebbe essere anche la data presa dal server aziendale.

    Mi spiego: l'applicazione sarà venduta. Bene dal pc del cliente deve potersi collegare ad un server e da questi ottenere la data.
    Quindi mi serve del banale codice che mi faccia vedere come dall'interni di un'aplicazione Vc++ 6.0 ci si collega ad un server per ottenere la data....

    Lo so che nella programmazione anche le cose più apparentemente banali richiedono studio, se tu hai dei link in proposito mi faresti cosa graditissima...


  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,476
    Una cosa e' usare i protocolli standard che ti sono stati suggeriti (NTP in particolare), altra cosa e' avere la data da un qualsiasi server tramite un protocollo client-server "custom" che chiunque puo' inventarsi ma che implica la scrittura e l'installazione di una parte server del software.

    Un time server (non timer server ...) oltre ad usare un protocollo standard e' anche "affidabile" perche' preleva la data e il tempo da una fonte sicura e precisa (riferimento atomico, ecc ...).

  5. #5
    Grazie per l'attenzione, scusa se uso ancora della tua cortesia....
    Si avrò usato termini impropi. Non mi sono mai occupato di problematiche relative alla rete.

    Il problema che mi è stato posto è quello di modificare il sistema di protezione del software che vendiamo. Creare un sistema di protezione temporale. Per evitare che l'utente modifichi la data del proprio sistema mi è stato suggerito d'interrogare un server e da questi ottenere
    la data.

    Ora le modalità con le quali eseguire l'interrogazione è il problema che sto affrontando.
    Per me anche interrogare il server della nostra azienda andrebbe benissimo...

    Forse molto ingenuamente ho pensato che ci fosse una funzione o sequenza d'instruzioni che permettono di ottenere la data.... O non è così?
    Ora che ti ho esposto più compiutamente la problematica se riesci a darmi qualche dritta te ne sarò grato...

    Ciao

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,476
    Ora la cosa e' un po' più chiara ...

    Un paio di considerazioni iniziali ...

    Un sistema di protezione simile implica che il software debba avere sempre disponibile una connessione internet e non sempre e' cosi'. I problemi che ne potrebbero derivare, non sono trascurabili ... (immagina che si installi il software che si e' regolarmente acquistato, su un sistema non collegato ad internet ...).

    Anche ammesso che venga fornita la data da un server, se cio' non avviene su un canale criptato (o almeno, con un sistema che non mostri in chiaro l'informazione), e' facilmente sniffabile ed aggirabile.

    Fatte queste premesse, non esiste una "sequenza di istruzioni" che si occupi di fare quello che chiedi. Puoi installare un piccolo programma lato server che risponda ad un determinato IP su porta 80 e invii la data criptata a richiesta del client. Per criptare l'informazione puoi scegliere un qualsiasi algoritmo (standard o personale, secondo il grado di sicurezza che vuoi ottenere ...). La scelta della porta 80 e' determinata dal fatto che molte aziende non permettono ai client di uscire su internet su porte non standard per motivi di sicurezza. Sicuramente l'uso della 80 e' consentito (per la navigazione web) e tutto dovrebbe funzionare.

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,372

    Moderazione

    Originariamente inviato da IlViandante2960
    Ho un'applicazioe in VC++ 6.0.
    Indica il linguaggio anche nel titolo in futuro, come da Regolamento.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  8. #8
    Capito.... In effetti guardando in rete pare dovrei utilizzare i socket. Il metodo forse più immediato e semplice...

    Un socket server che invia la data su richiesta. Le problematiche che mi evidenzi non si pongono nel senso che il software sarà venduto solo a chi ha una connessione di rete attiva (almeno evito questo)...

    Forse ci saranno problemi se per caso due o più socket client fanno nello stesso tempo la medesima richiesta, il socket server dovrebbe essere in grado di gestire tale situazione... Vabbè per ora mi bastano i problemi che ho...

    Sei stato esauriente ed utile. Magari se avrò bisogno di qualche ulteriore dritta spero di poterti consultare ancora... Grazie...


  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,476
    Sì ... puoi realizzare tutto con i socket.

    Per le richieste multiple non dovresti avere problemi ... in realta' il programma lato server puo' essere (deve essere) scritto in modo da accettare piu' connessioni. Non e' difficile.

    A risentirci.

  10. #10
    [OT]Ma non sarebbe più facile impedire all'utente di modificare la data e l'ora usando delle impostazioni più restrittive sulle varie macchine, ad esempio - su Windows - usando le policy di gruppo per impedire agli utenti di cambiare l'ora?[/OT]
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.