私設SoS2オーナー応援BBS

新規発言一覧最新記事過去一覧検索ダウンロードページHOME

スレッド

└◇1461:
ロックファイルの不使用による実被害はどの程度でしょう? [矢神] 02/24 08:57

 └◇1463:Re:ロックファイルの不使用による実被害はどの程度でしょう? [moon] 02/24 14:45
  └◇1465:Re[2]:ロックファイルの不使用による実被害はどの程度でしょう? [矢神] 02/24 21:54<-last


1461● ロックファイルの不使用による実被害はどの程度でしょう?[ 矢神 ] 2008 02/24 08:57
こんにちは。いつもお世話になります。
今回はperlの記述に関する事では無いのですが、どうも設置サーバーの動作がへっぽこなのか、かなり頻繁にロックファイルが解除されずに残ってしまうようなのです。
実際にFTPでファイル操作する時も、ひどい時は10回に1回くらいの割合で転送失敗するので恐らくcgiでは無く、サーバー側の問題だと思うのですが…

まあ別にロックされたところで1分待てばよいだけなので、これまでは良かったのですが、
今回、シリウス様の公開されているダンジョンシステムに、
・ブラウザの「戻る」ボタンなどを使用した不正行為(戦闘をキャンセル出来るなど)の対策
と、
・ダンジョン内で死亡した場合と出入り口以外から脱出した場合はアイテムを全てロストする。
という仕様を拙いなりに作成して組み込んでみまして、
これにより、正しい手順を踏まずにブラウザを閉じたりゲームを終了すると不正行為とみなされアイテムロストするという仕様にしたのです。

なのでダンジョン中にロック制御が頻発し、プレイヤーが混乱してアイテムロストしてしまうと可哀想なので、もしそこまで実害が無いようなら$lockkey = 0;にしてしまおうかと思っているのですが…。

実際&lockが使用されているのは# Main Program #部だけのようですが、ロックファイルを使用せずに同時アクセスなどが起こった場合、どのような被害が出るのでしょうか?
またそういう事が起こる可能性はどの程度のものなのでしょうか?

可能性については0じゃない限り同じな気もしますが、お答えいただければありがたいです。
スレッド一覧


1463● Re:ロックファイルの不使用による実被害はどの程度でしょう?[ moon ] 2008 02/24 14:45
> こんにちは。いつもお世話になります。
> 今回はperlの記述に関する事では無いのですが、どうも設置サーバーの動作がへっぽこなのか、かなり頻繁にロックファイルが解除されずに残ってしまうようなのです。
> 実際にFTPでファイル操作する時も、ひどい時は10回に1回くらいの割合で転送失敗するので恐らくcgiでは無く、サーバー側の問題だと思うのですが…
>
> まあ別にロックされたところで1分待てばよいだけなので、これまでは良かったのですが、
> 今回、シリウス様の公開されているダンジョンシステムに、
> ・ブラウザの「戻る」ボタンなどを使用した不正行為(戦闘をキャンセル出来るなど)の対策
> と、
> ・ダンジョン内で死亡した場合と出入り口以外から脱出した場合はアイテムを全てロストする。
> という仕様を拙いなりに作成して組み込んでみまして、
> これにより、正しい手順を踏まずにブラウザを閉じたりゲームを終了すると不正行為とみなされアイテムロストするという仕様にしたのです。
>
> なのでダンジョン中にロック制御が頻発し、プレイヤーが混乱してアイテムロストしてしまうと可哀想なので、もしそこまで実害が無いようなら$lockkey = 0;にしてしまおうかと思っているのですが…。
>
> 実際&lockが使用されているのは# Main Program #部だけのようですが、ロックファイルを使用せずに同時アクセスなどが起こった場合、どのような被害が出るのでしょうか?
> またそういう事が起こる可能性はどの程度のものなのでしょうか?
>
> 可能性については0じゃない限り同じな気もしますが、お答えいただければありがたいです。

最悪、該当のユーザーデータが壊れて名前やパスワードなどが消えてしまう恐れがあります。
その他には、死亡しているのに戦えてしまったり同じ販売品を二人以上が購入できてしまったりと色々な不整合が発生する恐れがあります。

タイミングによってこのようなことが起こり得ますので、ロックされるようにしたまま不正行為の防止策自体を変更したほうが無難です。
スレッド一覧


1465● Re[2]:ロックファイルの不使用による実被害はどの程度でしょう?[ 矢神 ] 2008 02/24 21:54
ご回答ありがとうございます!
データが消失する危険があるというのはさすがにまずいので、他の仕様の方をどうにかして合わせるか
エラーメッセージあたりで対処しようかと思います。
スレッド一覧

CGIROOM