客戶端版本號也能讓遊戲客戶端變得不安全。
開發通常都會使用 1.1, 1.3, 1.6 這樣的版本號。連入網路後和最新客戶端版本號進行比較,決定是否公升級。
進行版本比較的**,使用了字串比較。
我們都應該知道對於字串來說: "1.2" 是大於 "1.1", "2.0" 是大於 "1.9" 。而且支援含有多個小數點的版本號,例如 "1.1.0" 是大於 "1.0.9" 的。
一行**,看上去很簡單不會有什麼問題。
在實際專案中突發bug,客戶端研發把版本更新到1.10。而對於字串來說, "1.10" 是小於 "1.9"的。
結果是,所有線上老版本都沒有提示和進行更新。而服務端沒有向下相容,老使用者完全無法執行。
所以,安全做法是強制要求更新客戶端模組必須使用數字(int)對版本號進行比較。如果是字串,要先解析成數字 int 整數形態,再逐個比較。而不能直接使用字串比較。
獲取客戶端IP方案
獲取客戶端ip,很多 都會拿http client ip的值,其次拿http x forwarded for,最後是remote addr。關於這個的討論見 比較的好的獲取客戶端ip和驗證ip 是怎樣的 以下內容是聽取答案後的總結 1.http client ip頭是有的,只是未成標準,不一定伺服器...
谷歌遊戲客戶端登入
谷歌遊戲客戶端登入api 2 匯入basicsamples專案。該專案包括 typeanumber和其他android遊戲樣本。3 4 在typeanumber模組中,開啟androidmanifest.xml並將包名稱更改 com.google.example.games.tanc為您自己的不同包...
遊戲客戶端架構分析
用來進行ui管理 管理攝像機控制視野的移動和是否需要跟隨。當沒有角色時相機處於漫遊狀態,有角色時需要控制相機跟隨角色,由於是網路遊戲,需要通過cameramanager控制相機連線那個角色。負責角色的產生,當進入戰鬥場景時,要將角色生成到場景中。進行管理請求,所有請求繼承自baserequest,r...