Frage

Für meine nicht verwalteten zeitlich begrenzten Softwareanforderungen von MFC/C ++ möchte ich einen GMT/UTC-Zeitstempel aus dem Internet erhalten (anstatt sich auf die PC-Uhrzeit zu verlassen, die leicht geändert werden kann).

Ich bin bereits über das Parsen der Linie "aktueller UTC" ... Zeile von http://www.timeanddate.com/worldclock/ (Ich denke, Port 80 ist eher offen als andere), aber ich weiß nicht, wie zuverlässig diese URL ist ...

Bitte teilen Sie mir Ihre Vor-/Nachteile oder verschiedene Ideen dazu mit.

Vielen Dank.

War es hilfreich?

Lösung

Sieht machbar aus und das ist weit verbreitet.

Das Abkratzen von timeanddate.com kann brechen, wenn die Website beschließt, ihre HTML zu ändern. Selbst eine leichte Änderung des HTML kann Ihren Schaber brechen.

Ich würde vorschlagen, dass Sie einen Webdienst wie wie Earthtools. Sie müssen die erforderlichen Argumente (Breitengrad und Länge usw.) in der URL übergeben, und die Antwort ist XML, die Sie leicht analysieren können.

Andere Tipps

Verwenden Sie ein SNTP (Simple Network Time Protocol), um die Zeit von einer Internetatomic -Uhr zu erhalten.

Es sind einige Bibliotheken im Web verfügbar - Hier ist einer für MFC auf CodeProject.

Machen Sie Ihr Programm besser, anstatt Zeit zu verschwenden, um es zu schützen. Jeder solche Schutz, den Sie tun können, wird leicht umgangen. Wenn Sie darauf bestehen, können Sie die Software auf Ihrem Server ausführen, da dies die einzige Möglichkeit ist, solche Grenzen tatsächlich durchzusetzen.

Abschließend: Meine App enthält eine Offline -Datenbank, die einmal täglich vom Intranet aktualisiert wird.
Ich möchte diese Datenbank zerkleinern, wenn sie über eine Woche nicht aktualisiert würde, und deshalb möchte ich versuchen, die Möglichkeit zu verringern, dass jemand die PC -Uhr rückwärts ändert.
Ich bin mir voll bewusst, dass es Power -Benutzer gibt, die meine App daran blockieren könnten, dass ich die Internetzeit auf 20 verschiedene Arten erhält, aber ich versuche, das Beste zu tun, was ich in der Software kann (eine Hardware -Lösung, z. B. ein Dongle, ist eine Overkill für mich).

Da ich eine Port 80 -Lösung haben möchte, werde ich die Lösung von CodadDict (EarthTools) übernehmen und ansonsten die PC -Uhr probieren.

Danke für all die Antworten!

Hmmm. Interessant. Sie versuchen im Grunde, das Internet als Dongle zu nutzen.

Wenn Sie diese Art von "Schutz" über Ihre Software wirklich benötigen, sollten Sie vielleicht in Betracht ziehen, einen echten Dongle mit einer Echtzeituhr zu bekommen, wie HaSp. Natürlich wird jede Lösung trivial sein, sich für einen anständigen Hacker mit einem Disassembler zu bewegen.

Im Allgemeinen denke ich, dass es besser ist, Ihre Software zu öffnen und zu versuchen, von Korrekturen, Mods und Unterstützung zu leben.

Die Antwort liegt in Ihrer Frage ... gehen Sie zu https://www.timeinddate.com/ Und suchen Sie nach "API", Sie finden diese Seite:https://www.timeinddate.com/services/api/Detaillierte Anleitung: https://services.timeanddate.com/api/packages/time.htmlMit ihrer API senden Sie eine Anfrage und erhalten eine XML- oder JSON -Antwort. Es hat Sie 150 US -Dollar pro Jahr gekostet, aber das ist die professionelle Möglichkeit, es zu tun, und da es Ihr Ziel ist, Geld für Ihre Software zu berechnen, ist es sinnvoll.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top