对于我的MFC/C++非托管时间限制软件的需求,我想从互联网上获得GMT/UTC时间戳(而不是依赖于可以轻松更改的PC时钟时间)。
我已经考虑过解析行“Current UTC”。.. line from http://www.timeanddate.com/worldclock/(我认为端口80比其他端口更有可能打开)但我不知道这个URL有多可靠。..
请与我分享你的优点/缺点或不同的想法。
对于我的MFC/C++非托管时间限制软件的需求,我想从互联网上获得GMT/UTC时间戳(而不是依赖于可以轻松更改的PC时钟时间)。
我已经考虑过解析行“Current UTC”。.. line from http://www.timeanddate.com/worldclock/(我认为端口80比其他端口更有可能打开)但我不知道这个URL有多可靠。..
请与我分享你的优点/缺点或不同的想法。
7条答案
按热度按时间qhhrdooz1#
使用SNTP(简单网络时间协议)从互联网原子钟获取时间。
有几个库可以在网络上使用-here's one for MFC on codeproject。
wyyhbhjk2#
这看起来是可行的,而且被广泛采用。
www.example.com 。即使是HTML中的一个微小的变化也会破坏你的scraper。
我建议你使用像earthtools这样的网络服务。您必须在URL中传递必要的参数(纬度和经度等),并且响应是您可以轻松解析的XML。
mrphzbgm3#
让你的程序变得更好,而不是浪费时间去保护它。任何这样的保护,你可以做的将很容易绕过。如果您坚持,您可以在服务器上运行该软件,因为这是实际执行此类限制的唯一方法。
oxf4rvwz4#
好吧,总结一下:我的应用程序包含一个离线数据库,每天从Intranet更新一次。
我想粉碎这个数据库,如果它没有更新超过一个星期,这就是为什么我想尝试和减少的可能性,有人只是改变电脑时钟倒退。
我完全意识到这样一个事实,即有权力的用户可以阻止我的应用程序从获得互联网时间在20个不同的方式,但我正试图尽我所能在软件(硬件解决方案,e。g.a加密狗,对我来说是矫枉过正)。
因为我想有一个端口80的解决方案,我将采用codaddy的解决方案(earthtools),并将采样的PC时钟,否则。
感谢所有的回复!
ghhkc1vu5#
嗯。有意思。你基本上是想把互联网当作加密狗。
如果你真的需要对你的软件进行这种“保护”,你也许应该考虑购买一个真正的带有实时时钟的加密狗,比如HASP。当然,对于一个有反汇编器的黑客来说,这两种解决方案都是微不足道的。
一般来说,我认为最好是打开你的软件,试着靠修复、MOD和支持来生活。
6za6bjd06#
答案就在你的问题里。..转到https://www.timeanddate.com/并查找“API”,您将找到此页面:https://www.timeanddate.com/services/api/详细说明:https://services.timeanddate.com/api/packages/time.html使用他们的API发送请求并接收XML或JSON响应。它每年花费你150美元,但这是专业的方法,因为你的目的是为你的软件收费,这是有意义的。
qxsslcnc7#
美国国家标准与技术研究院(NIST)互联网时间服务器
参考https://www.nist.gov/pml/time-and-frequency-division/time-distribution/internet-time-service-its
https://tf.nist.gov/tf-cgi/servers.cgi