2012年2月21日
linkFor開発担当の鬼日記78【師匠】
今週の日曜日に人気ソーシャルゲームのドリランドで、dupeと呼ばれる、バグを利用したアイテム複製が発見されて話題になっていました。
何故起きるかはシステムの中まで解らないので想像ですが、おそらくMySQLのレプリケーション時間にあるのではないかと思っています。
レプリケーションするまでは、過去のデータなので、その辺にSELECT文を打つと複製もありえると思いました。
またテーブル構成で、UNIQUE KEYを張らない作りになっているのは確実でしょう。
一個テーブルを無くしてUNIQUE KEYを張らない代わりに速度を上げ、セキュリティーを犠牲にしたと思います。
MySQLがレプリケーションしない作りや、UNIQUE KEYをなるべく張る作りにするのは
構成を考える上で重要だと思える事件でした。
カテゴリー: 未分類 — development 2:23 PM
コメントはまだありません。