• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 311, comments - 0, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

              正如我們在前面曾討論過的,登錄服要實現的功能相當簡單,就是帳號驗證。為了便于描述,我們暫不引入那些討論過的優化手段,先以最簡單的方式實現,另外也將基本以mangos的代碼作為參考來進行描述。



              想象一下帳號驗證的實現方法,最容易的那就是把用戶輸入的明文用帳號和密碼直接發給登錄服務器,服務器根據帳號從數據庫中取出密碼,與用戶輸入的密碼相比較。

              這個方法存在的安全隱患實在太大,明文的密碼傳輸太容易被截獲了。那我們試著在傳輸之前先加一下密,為了服務器能進行密碼比較,我們應該采用一個可逆的加密算法,在服務器端把這個加密后的字串還原為原始的明文密碼,然后與數據庫密碼進行比較。既然是一個可逆的過程,那外掛制作者總有辦法知道我們的加密過程,所以,這個方法仍不夠安全。

              哦,如果我們只是希望密碼不可能被還原出來,那還不容易嗎,使用一個不可逆的散列算法就行了。用戶在登錄時發送給服務器的是明文的帳號和經散列后的不可逆密碼串,服務器取出密碼后也用同樣的算法進行散列后再進行比較。比如,我們就用使用最廣泛的md5算法吧。噢,不要管那個王小云的什么論文,如果我真有那么好的運氣,早中500w了,還用在這考慮該死的服務器設計嗎?

              似乎是一個很完美的方案,外掛制作者再也偷不到我們的密碼了。慢著,外掛偷密碼的目的是什么?是為了能用我們的帳號進游戲!如果我們總是用一種固定的算法來對密碼做散列,那外掛只需要記住這個散列后的字串就行了,用這個做密碼就可以成功登錄。

              嗯,這個問題好解決,我們不要用固定的算法進行散列就是了。只是,問題在于服務器與客戶端采用的散列算法得出的字串必須是相同的,或者是可驗證其是否匹配的。很幸運的是,偉大的數學字們早就為我們準備好了很多優秀的這類算法,而且經理論和實踐都證明他們也確實是足夠安全的。

              這其中之一是一個叫做SRP的算法,全稱叫做Secure Remote Password,即安全遠程密碼。wow使用的是第6版,也就是SRP6算法。有關其中的數學證明,如果有人能向我解釋清楚,并能讓我真正弄明白的話,我將非常感激。不過其代碼實現步驟倒是并不復雜,mangos中的代碼也還算清晰,我們也不再贅述。

              登錄服除了帳號驗證外還得提供另一項功能,就是在玩家的帳號驗證成功后返回給他一個服務器列表讓他去選擇。這個列表的狀態要定時刷新,可能有新的游戲世界開放了,也可能有些游戲世界非常不幸地停止運轉了,這些狀態的變化都要盡可能及時地讓玩家知道。不管發生了什么事,用戶都有權利知道,特別是對于付過費的用戶來說,我們不該藏著掖著,不是嗎?

              這個游戲世界列表的功能將由大區服來提供,具體的結構我們在之前也描述過,這里暫不做討論。登錄服將從大區服上獲取到的游戲世界列表發給已驗證通過的客戶端即可。好了,登錄服要實現的功能就這些,很簡單,是吧。

              確實是太簡單了,不過簡單的結構正好更適合我們來看一看游戲服務器內部的模塊結構,以及一些服務器共有組件的實現方法。這就留作下一篇吧。
            国产激情久久久久影院| 久久人人爽人人爽人人爽| 人妻无码中文久久久久专区| 婷婷伊人久久大香线蕉AV| 久久无码AV中文出轨人妻| 麻豆成人久久精品二区三区免费 | av色综合久久天堂av色综合在 | 一本色综合久久| 久久久无码精品亚洲日韩蜜臀浪潮| 色婷婷久久综合中文久久一本| 国产免费久久精品99re丫y| 久久久久亚洲AV片无码下载蜜桃 | 久久精品中文字幕第23页| 日本欧美国产精品第一页久久| 2020最新久久久视精品爱 | 中文字幕乱码久久午夜| 国产国产成人久久精品| 久久综合香蕉国产蜜臀AV| 久久亚洲国产最新网站| 久久精品国产精品亚洲人人| 欧美精品一本久久男人的天堂| 97精品依人久久久大香线蕉97| 欧洲国产伦久久久久久久| 久久天堂电影网| 国产69精品久久久久99| 91精品国产91久久综合| 久久精品国产精品青草app| 亚洲综合精品香蕉久久网97| 精品久久久噜噜噜久久久| 久久精品午夜一区二区福利| 伊人久久大香线蕉av一区| 久久精品无码一区二区WWW| 亚洲精品tv久久久久久久久| 99久久精品毛片免费播放| 国产福利电影一区二区三区,免费久久久久久久精 | 国产A级毛片久久久精品毛片| 亚洲乱亚洲乱淫久久| 97超级碰碰碰碰久久久久| 久久人人爽人人爽人人片AV不| 色综合久久久久无码专区| 久久精品国产欧美日韩|