金慶的專欄
C++博客
::
首頁
::
新隨筆
::
聯系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評論 :: 0 Trackbacks
公告
我的隨筆
我的評論
我參與的隨筆
留言簿
(12)
給我留言
查看公開留言
查看私人留言
隨筆分類
(502)
1. C/C++(166)
(rss)
2. 網游開發(108)
(rss)
3. Golang(20)
(rss)
4. Linux/Unix(30)
(rss)
5. 軟工與管理(44)
(rss)
6. Python(23)
(rss)
7. Erlang(18)
(rss)
8. Rust(16)
(rss)
9. 其它(77)
(rss)
隨筆檔案
(423)
2023年1月 (1)
2022年11月 (1)
2022年10月 (2)
2022年9月 (1)
2022年4月 (6)
2022年1月 (2)
2021年12月 (4)
2021年11月 (6)
2021年10月 (2)
2021年9月 (2)
2021年8月 (7)
2021年7月 (2)
2021年5月 (2)
2021年3月 (1)
2021年2月 (2)
2021年1月 (1)
2020年12月 (1)
2020年10月 (1)
2020年9月 (5)
2020年8月 (1)
2020年7月 (1)
2020年6月 (1)
2020年4月 (2)
2020年3月 (3)
2020年2月 (3)
2020年1月 (1)
2019年12月 (1)
2019年9月 (2)
2019年4月 (2)
2019年1月 (1)
2018年12月 (1)
2018年11月 (3)
2018年10月 (1)
2018年9月 (3)
2018年8月 (3)
2018年7月 (2)
2018年6月 (4)
2018年5月 (4)
2018年4月 (4)
2018年3月 (1)
2018年1月 (2)
2017年12月 (2)
2017年11月 (3)
2017年10月 (3)
2017年8月 (7)
2017年7月 (1)
2017年6月 (1)
2017年5月 (3)
2017年4月 (3)
2017年3月 (3)
2017年2月 (2)
2017年1月 (2)
2016年12月 (5)
2016年11月 (2)
2016年10月 (2)
2016年9月 (1)
2016年8月 (6)
2016年7月 (3)
2016年6月 (2)
2016年5月 (4)
2016年4月 (2)
2016年3月 (2)
2016年1月 (3)
2015年12月 (2)
2015年11月 (2)
2015年10月 (1)
2015年8月 (2)
2015年7月 (1)
2015年6月 (1)
2015年5月 (4)
2015年4月 (3)
2015年3月 (4)
2015年2月 (5)
2015年1月 (4)
2014年12月 (3)
2014年11月 (3)
2014年10月 (2)
2014年9月 (3)
2014年8月 (1)
2014年4月 (4)
2014年3月 (1)
2014年2月 (4)
2014年1月 (5)
2013年12月 (5)
2013年11月 (5)
2013年9月 (2)
2013年8月 (2)
2013年7月 (2)
2013年6月 (2)
2013年5月 (1)
2013年1月 (2)
2012年12月 (1)
2012年11月 (1)
2012年9月 (1)
2012年8月 (3)
2012年7月 (2)
2012年6月 (1)
2012年4月 (3)
2012年3月 (2)
2012年2月 (3)
2012年1月 (2)
2011年11月 (2)
2011年10月 (3)
2011年9月 (2)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年5月 (3)
2011年1月 (2)
2010年12月 (1)
2010年11月 (2)
2010年10月 (2)
2010年9月 (3)
2010年8月 (2)
2010年7月 (3)
2010年6月 (1)
2010年5月 (3)
2010年4月 (3)
2010年3月 (5)
2010年2月 (4)
2010年1月 (4)
2009年12月 (2)
2009年11月 (3)
2009年10月 (4)
2009年9月 (3)
2009年8月 (2)
2009年7月 (4)
2009年6月 (1)
2009年5月 (3)
2009年4月 (4)
2009年3月 (2)
2009年2月 (5)
2009年1月 (1)
2008年12月 (7)
2008年11月 (4)
2008年10月 (1)
2008年9月 (3)
2008年8月 (4)
2008年7月 (3)
2008年6月 (4)
2008年5月 (6)
2008年4月 (7)
2008年3月 (6)
2008年1月 (5)
2007年12月 (7)
2007年11月 (4)
2007年10月 (5)
2007年9月 (6)
2007年8月 (8)
2007年7月 (5)
相冊
公告照片
搜索
積分與排名
積分 - 656636
排名 - 25
最新評論
1.?re: boost::asio::spawn 將一統C++網絡庫
asio 成為C++首選網絡庫
--linda
2.?re: log4cxx中文輸出錯誤補丁
評論內容較長,點擊標題查看
--金慶
3.?re: mingw編譯OrzNet
能發送一個mingw編譯好的OrzNet庫給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯誤補丁
評論內容較長,點擊標題查看
--bigbad
5.?re: log4cxx中文輸出錯誤補丁
評論內容較長,點擊標題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯誤(11032)
2.?SVN中邪惡的replace(10955)
3.?VS2005編譯libevent(10413)
4.?混音算法的學習與研究(10203)
5.?C調用lua腳本的效率測試(9007)
評論排行榜
1.?VC6正在被拋棄(35)
2.?VS2005編譯libevent(21)
3.?"multiple definition of" 錯誤(18)
4.?C++引用優于指針(17)
5.?ACE與ASIO之間關于Socket編程的比較(16)
網游防刷指令攻擊的設計
網游防刷指令攻擊的設計
網游外掛可以重復發送某些指令,造成服務器CPU占用或帶寬占用,這類攻擊稱為刷指令.
最簡單的如聊天廣播. 不需要特殊的外掛, 只需在客戶端全域或區域喊話,
該聊天信息就會廣播到所有客戶端, 占用許多帶寬.
一般需要通過限制聊天的間隔時間, 或者收費來防止刷屏聊天.
其他指令也需要這種防刷措施.
防刷指令應該做成一個通用機制, 控制所有指令, 而不是僅僅對個別指令處理.
默認情況下, 所有客戶端發往服務器的指令都要受到限制.
指令限制功能應該放在網關, 不會影響游戲服務器.
但也要求算法盡量簡單, 能夠快速處理.
最簡單的限制方法是限制間隔時間.
同一類指令之間必須間隔一定時長.
同一類指令就是指令號相同.
例如所有聊天指令必須間隔500ms以上.
對于移動攻擊類的指令, 很頻繁, 用時間間隔限制不合適.
因為受網絡抖動的影響, 可能會有多個指令集中地接收.
應該用平均指令數來限制.
如5s內指令個數不超過1000個.
對于受到限制的指令, 可以直接忽略. 也可以向客戶端返回一個指令受限的指示.
對于確認為刷指令攻擊的客戶端, 就斷開連接.
有的指令可以緩存,直到允許的時刻才轉發給游戲服務器. 同類指令可以只保留最后一個指令.
(轉載請注明來源于金慶的專欄)
posted on 2009-09-22 17:43
金慶
閱讀(1940)
評論(5)
編輯
收藏
引用
所屬分類:
2. 網游開發
評論
#
re: 網游防刷指令攻擊的設計
2009-09-24 17:44
凡客誠品
確認為刷指令攻擊的客戶端, 就斷開連接.
回復
更多評論
#
re: 網游防刷指令攻擊的設計
2009-09-27 16:05
浩毛
防止網游外掛刷指令的一個比較好的辦法是在包加密上的處理,
可以這樣,
當服務器端接受客戶連接后,給客戶端發送一個隨機種子,來初始化客戶端和服務器端隨機數生成步進狀態機。
在來往的包頭記錄發送序號,步進隨機數生成狀態機,每次生成的隨機數就可作為一個密匙KEY,使用KEY對包體進行加密。服務器或客戶端收到包后,根據包頭的序號,同步自己的隨機數生成狀態機,也得到一個相同的KEY,用這個KEY對包體解密。
對破解者來說,由于每次的包的KEY都是不同的,只是通過截獲收發的網絡包是很難根據包頭的序號和加密的包體來進行破解。
另外,由于同一個指令同一內容的加密網絡包在不同時間段都是不同的。外掛開發者將截獲的加密網絡包,重復發送給服務器會被服務器判定為非法包。
回復
更多評論
#
re: 網游防刷指令攻擊的設計
2009-09-27 16:07
浩毛
好像魔獸就是采用的這種機制。
回復
更多評論
#
re: 網游防刷指令攻擊的設計
2009-09-27 16:08
浩毛
另外,你還要對客戶端的程序做一些 模糊化處理,禁止調試等手段來防止破解者反編譯匯編跟蹤調試你的程序。
回復
更多評論
#
re: 網游防刷指令攻擊的設計
2009-09-28 09:27
金慶
@浩毛
我的假定是客戶端程序可以被破解.
所有客戶端密碼,加密方法,與服務器的通信協議都是可見的.
回復
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
How are dtLinks created in NavMesh
UE4 Blueprint Multiple Event BeginPlay
第9代游戲主機
Canvas Scaler 的3種模式
幀同步是否允許客戶端指定命令幀號
rpc應答太快造成請求超時
測試 tolua 例子 TestErrorStack
lua變量缺少local造成unity死鎖
C# tolua 之間互傳 byte[]
Unity使用異步grpc
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
久久中文字幕无码专区
|
亚洲国产成人久久笫一页
|
久久久久高潮毛片免费全部播放
|
午夜天堂av天堂久久久
|
久久久久免费精品国产
|
久久久精品日本一区二区三区
|
国产成人无码精品久久久性色
|
少妇久久久久久被弄高潮
|
情人伊人久久综合亚洲
|
精品久久久无码21p发布
|
国产精品热久久无码av
|
99久久香蕉国产线看观香
|
日本免费久久久久久久网站
|
亚洲国产日韩欧美久久
|
99久久精品免费
|
国内精品久久久人妻中文字幕
|
亚洲美日韩Av中文字幕无码久久久妻妇
|
久久久久久久97
|
久久免费高清视频
|
国产精品女同久久久久电影院
|
亚洲国产成人精品久久久国产成人一区二区三区综
|
亚洲国产成人久久综合区
|
欧美综合天天夜夜久久
|
精品伊人久久大线蕉色首页
|
亚洲精品乱码久久久久久蜜桃
|
一级做a爰片久久毛片16
|
久久99热只有频精品8
|
日产精品99久久久久久
|
亚洲精品无码久久毛片
|
亚洲国产成人久久综合碰
|
久久AⅤ人妻少妇嫩草影院
|
久久精品无码一区二区三区
|
狠狠色婷婷久久一区二区三区
|
久久超乳爆乳中文字幕
|
久久久婷婷五月亚洲97号色
|
亚洲精品乱码久久久久久中文字幕
|
亚洲av成人无码久久精品
|
久久无码人妻一区二区三区
|
嫩草伊人久久精品少妇AV
|
久久久久人妻一区精品性色av
|
久久婷婷国产综合精品
|