我有一個java服務器通過json-rpc與java客戶端進行通信。客戶端應該向修改服務器行爲的服務器報告內部統計信息。客戶端和服務器端都是內部編寫的,所以我可以控制客戶端的功能以及它如何報告統計信息,但有沒有辦法可以驗證客戶端代碼是否未被修改?如果有,它仍然會服務客戶端,但使用一些默認行爲。如何從服務器驗證客戶端代碼沒有被修改
客戶端將公開提供,所以對反編譯和改變行爲的人來說沒什麼大不了的。
只需讓客戶端發送代碼的簽名就不好,因爲通過將客戶端的原始副本與修改後的副本保持一致,可能很容易被欺騙。
我不認爲你可以。想象一下,你有這樣一個聲稱的網絡消息,你會接受爲有效的。你怎麼能把它與其他客戶播放的錄音區分開來? –