Dot-Net
時間戳是否有 Windows 絕對時間?(。網)
我正在使用 WPF/C# 應用程序,我需要在一段時間內阻止使用者訪問特定功能。基本上,從某個事件發生的那一刻起,我想在接下來的 24 小時內阻止某些訪問。
簡單案例:
- 事件發生,保存時間戳(使用 DateTime 或類似的)
- 使用者在 15 小時後嘗試訪問區域,將 Now 與 timestamp… 塊進行比較
- 使用者在 25 小時後嘗試訪問區域,將現在與時間戳進行比較…允許
都好。但是,使用者有能力改變系統時間,這讓我很頭疼。他們可以簡單地提前 24 小時設置系統時間,我的應用程序也不會更聰明。
我假設更改 Windows 中的時間會進入系統的實時時鐘……那麼是否有任何獨立於系統時鐘的免費執行計時器?一個使用者不能亂用的?
任何見解都值得讚賞。
Environment.TickCount 不會隨著系統時間的變化而變化,但會在重新啟動時重置。一種選擇是 HTTPS 安全 Web 服務和不允許證書驗證失敗的證書策略。否則,欺騙服務的響應將是微不足道的。
當我第一次開始銷售軟體時,我對盜版等非常偏執。並不是說我建議您的目的是相同的。但我得出的結論是,人們通常不會弄亂他們的系統時間,因為它搞砸了他們電腦上的許多其他事情,不值得麻煩。自然不同的應用程序會有不同的完整性要求,但我只是想添加這一點。