慕田峪7331174
2022-12-27 17:15:54
我正在創(chuàng)建一個(gè)允許用戶(hù)在特定時(shí)間段內(nèi)使用 Python 程序的許可證。該程序使用 datetime.today() 檢查當(dāng)前日期,然后將其與許可證中加密的到期日期進(jìn)行比較。如果當(dāng)前日期超過(guò)到期日期,則無(wú)法運(yùn)行。我擔(dān)心的是,如果有人操縱他的 PC 時(shí)間讓程序認(rèn)為許可證仍然有效怎么辦?Python datetime 庫(kù)是否使用 PC 的時(shí)間?如果不是,它的來(lái)源是什么?提前致謝!
2 回答

大話西游666
TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊
datetime.today()
使用系統(tǒng)日期/時(shí)間。所以是的,用戶(hù)可以更改系統(tǒng)時(shí)間來(lái)欺騙程序。
您可以使用像ntplib這樣的庫(kù)從遠(yuǎn)程服務(wù)器獲取時(shí)間,但這當(dāng)然需要網(wǎng)絡(luò)連接。因此,您可能想決定如何處理程序無(wú)法訪問(wèn)網(wǎng)絡(luò)的情況:也許您每周只對(duì)服務(wù)器執(zhí)行一次 ping 操作,并要求應(yīng)用程序每周至少連接一次互聯(lián)網(wǎng)。
更好的解決方案是為您的用戶(hù)提供他們進(jìn)入應(yīng)用程序所需的產(chǎn)品密鑰。該應(yīng)用程序?qū)⒃趩?dòng)時(shí)(或以指定的時(shí)間間隔)針對(duì)您自己的服務(wù)器檢查此產(chǎn)品密鑰,并且僅在密鑰有效時(shí)才繼續(xù)。這樣,您可以隨時(shí)控制用戶(hù)訪問(wèn),因?yàn)槟梢噪S時(shí)輕松更改產(chǎn)品密鑰權(quán)限。
添加回答
舉報(bào)
0/150
提交
取消