第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將狀態(tài)存儲在 golang 二進制文件中

將狀態(tài)存儲在 golang 二進制文件中

Go
鴻蒙傳說 2023-07-17 16:35:18
我正在為客戶開發(fā)一個本地解決方案,機器上沒有任何控制和互聯(lián)網(wǎng)連接。該解決方案是根據(jù)所購買許可證允許的請求(REST API 調(diào)用)數(shù)量進行貨幣化。因此,目前我們將請求計數(shù)存儲在文件系統(tǒng)本身的加密文件中。但這個解決方案并不完美,因為文件可以復制到某個地方,然后在請求配額結束時替換。此外,如果文件被刪除,則需要支持人員進行手動干預。我正在尋找一種解決方案,以二進制形式存儲狀態(tài)/數(shù)據(jù)并在運行時更新它(考慮在二進制本身中更新的使用計數(shù))尋找更好的方法。二進制文件也應該從之前存儲的狀態(tài)開始有辦法做到嗎?PS我知道寫入二進制文件并不能解決問題,但我認為它會通過增加可以存儲狀態(tài)的位置的排列和組合數(shù)量來增加難度,因為您可以更改可執(zhí)行文件這不是常識如果有人試圖擾亂系統(tǒng),這將是尋找狀態(tài)的最后一個地方(默默無聞的安全性)
查看完整描述

3 回答

?
阿波羅的戰(zhàn)車

TA貢獻1862條經(jīng)驗 獲得超6個贊

有辦法做到嗎?

不。

(至少沒有官方的、可移植的方式。當然,您可以修改二進制文件并更改例如數(shù)據(jù)或 BSS 段,但這很困難依賴于操作系統(tǒng),并且不能解決您的問題,因為它與外部文件具有相同的問題:您可以保留原始可執(zhí)行文件并重新開始。有些事情根本無法從技術上解決。)


查看完整回答
反對 回復 2023-07-17
?
偶然的你

TA貢獻1841條經(jīng)驗 獲得超3個贊

這是您嘗試執(zhí)行的操作(不是寫入可執(zhí)行文件)的解決方案,該解決方案將擊敗文件的隨意復制。

一種可能的方法是定期將請求計數(shù)和當前系統(tǒng)時間寫入文件。該文件甚至不需要加密 - 您只需要生成數(shù)據(jù)的哈希值(例如使用 SHA2)并使用私鑰對其進行簽名,然后附加到文件中。

然后,當您(重新)啟動服務時,使用您的公鑰讀取并驗證文件,并檢查自寫入文件的時間以來是否已經(jīng)過去太久。請注意,安裝時必須寫入一些初始文件,并且您的服務需要持續(xù)運行 - 只允許短暫重新啟動。您還可能會驗證該時間不是將來的時間,因為這表明有人試圖規(guī)避系統(tǒng)。

當然,這種方法存在一些問題,例如客戶端擺弄系統(tǒng)時間,甚至調(diào)試代碼以查找私鑰和其他可能的密鑰。希望這些措施足以起到威懾作用。此外,如果服務或系統(tǒng)關閉很長一段時間,則需要某種手動干預。


查看完整回答
反對 回復 2023-07-17
?
月關寶盒

TA貢獻1772條經(jīng)驗 獲得超5個贊

如果您的其余 API 在您的控制范圍內(nèi),并且是您要貨幣化的部分,那么您肯定會在此時過濾許可的可能是某種證書身份驗證或 API 密鑰,然后您可以保留并依賴該 API您可以控制的一面,然后無論它是在平面文件還是數(shù)據(jù)庫等中都沒關系,因為您可以控制它。



查看完整回答
反對 回復 2023-07-17
  • 3 回答
  • 0 關注
  • 204 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號