Получить время из Интернета (обходящий часы ПК)?

Для моего MFC/C++ неуправляемые ограниченные временем потребности программного обеспечения я хотел бы добраться, метка времени GMT/UTC из Интернета (вместо того, чтобы полагаться на ПК показывают время, которое может быть легко изменено).

Я уже, хотя о парсинге строки "Текущий UTC"... строка из http://www.timeanddate.com/worldclock/ (я думаю порт 80, более вероятно, будет открыта, чем другие), но я не знаю, насколько надежный этот URL...

Совместно используйте со мной своих профессионалов/недостатки или различные идеи об этом.

Спасибо.

6
задан Ryan Emerle 5 March 2010 в 13:35
поделиться

5 ответов

Выглядит осуществимым, и это широко делается.

Скраппинг сайта timeanddate.com может сломаться, если сайт решит изменить свой HTML. Даже небольшое изменение в HTML может сломать ваш скрепер.

Я бы предложил вам использовать веб-службу, например earthtools. Вам нужно будет передать необходимые аргументы (широта и долгота и т.д.) в URL, а ответ будет XML, который вы сможете легко разобрать.

3
ответ дан 9 December 2019 в 20:42
поделиться

Используйте SNTP (Simple Network Time Protocol) для получения времени от атомных часов в Интернете.

В Интернете есть несколько библиотек - вот одна для MFC на codeproject.

7
ответ дан 9 December 2019 в 20:42
поделиться

Сделайте свою программу лучше, вместо того чтобы тратить время на попытки защитить ее. Любая такая защита, которую вы сможете сделать, будет легко обойдена. Если вы настаиваете, вы можете запустить программу на своем сервере, так как это единственный способ реально обеспечить соблюдение таких ограничений.

1
ответ дан 9 December 2019 в 20:42
поделиться

Хммм. Интересно. Вы просто пытаетесь использовать Интернет в качестве электронного ключа.

Если вам действительно нужна такая «защита» программного обеспечения, возможно, вам стоит подумать о приобретении настоящего электронного ключа с часами реального времени, например HASP . Конечно, любое решение будет тривиальным для приличного хакера с дизассемблером.

В общем, я считаю, что лучше открыть свое программное обеспечение и попытаться жить за счет исправлений, модов и поддержки.

0
ответ дан 9 December 2019 в 20:42
поделиться

Итак, в заключение: Мое приложение содержит автономную базу данных, которая обновляется раз в день из интрасети.
Я хотел бы уничтожить эту базу данных, если она не обновлялась в течение недели, и поэтому я хотел бы попытаться уменьшить вероятность того, что кто-то просто изменит часы ПК в обратном направлении.
Я полностью осознаю тот факт, что есть опытные пользователи, которые могут заблокировать мое приложение от получения времени в Интернете 20 различными способами, но я стараюсь изо всех сил использовать программное обеспечение (аппаратное обеспечение решение, например донгл, для меня перебор).

Так как я хочу иметь решение с портом 80, я использую решение codaddict (earthtools), а в противном случае пробую часы ПК.

Спасибо за все ответы!

1
ответ дан 9 December 2019 в 20:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: