0

外部の信頼できるソースから DateTime を取得したいと考えています。DateTime.Now() メソッドを介して取得できることはわかっていますが、システムの日付と時刻を変更することで簡単にだまされる可能性があります。回避策はありますか?Windowsフォームアプリです!

4

2 に答える 2

1

Network Time Server クライアント クラスが必要です。
簡単に言えば、インターネット上の多数のタイム サーバーの 1 つに日付と時刻を尋ねて、NTP プロトコルを使用して内部 PC クロックを設定します。

NTP クライアントを検索すると、多数の例が見つかります。

これはBing検索から出てきた最初のものです

引用:

The Network Time Protocol (NTP) and its simplified form (SNTP) are widely used to 
synchronize network resources, due to their simplicity and effectiveness.

もちろん、すべてがクライアント PC にインストールされているため、これもハッキングされてタイム サーバーのアドレスを偽装し、別の値を返す可能性があります。しかし、これには、単に PC の時計をリセットするだけではなく、ハッカーによるより多くの作業が必要になります。

于 2012-10-21T15:10:31.620 に答える
0

アプリにネットワーク タイム プロトコルクライアントを実装し、ネット経由で現在の時刻を要求したり、http サーバーから何かを要求したり、Date応答ヘッダーから時間を使用したりすることもできますが、これもだまされる可能性があります (トラフィックを傍受して送信する可能性があります)。接続するタイムサーバーに代わって応答するか、http 応答を微調整します)。

ただし、最も簡単な方法は、http サーバーから応答を取得することです。

于 2012-10-21T15:11:18.757 に答える