追記させて頂きます。 ( No.1 ) |
- 日時: 2014/07/26 07:51
- 名前: Sora ID:wZ2YXkyY
- 追記いたします。
上記の1)のテストでは、複数回のテストでも正常に時間制限が効いておりました。
1回目:301秒でスレッド作成OK(299秒ではスレッド作成できない) 2回目:301秒でスレッド作成OK(299秒ではスレッド作成できない、以下同) 3回目:301秒でスレッド作成OK 4回目:301秒でスレッド作成OK
プログラムには無知ではありますが、少し拝見させて頂きましたが、
# 現行ログindex【サーバパス】 $nowfile = './data/index1.log';
が関係しているのかなと思い、index1.logを見てみましたが原因が分かりませんでした。。 (index1.logの1行目しかホストの記録がないのとは無関係でしょうか?)
何卒よろしくお願いいたします。
|
ホストは同一ホストです。 ( No.2 ) |
- 日時: 2014/07/26 14:23
- 名前: Sora ID:wZ2YXkyY
- 失礼しました。
1)2)のテストは、ホストは変動ホストではなく全て同じホストとなります。
|
確かにそうですね ( No.3 ) |
- 日時: 2014/08/10 15:56
- 名前: きりしま◆.CzKQna1OU ID:yw7K62H2
- 確かにそうですね。
いま、ソースを確認したところ、 「最後の書き込みをした人と同一IPアドレスからの書き込みの時間制限」 をしているだけの動作になると思いますので、 他の人が書き込みをするとリセットされることになります。 そのため、 短時間に沢山の人が交互に書き込みをするような掲示板では 時間制限が有効に働かないと思われます。 (または複数の迷惑書き込み業者に同時に攻撃されたときに防御できないことになります)
ご指摘通り、チェックに使用するデータが1 IPアドレス分しかないわけですから、 別のファイルにIPアドレスごとに記録して、 それを使うような変更が必要ですね。
時間を見てやってみようと思います。
|
試しにやってみました ( No.4 ) |
- 日時: 2014/08/10 22:47
- 名前: きりしま◆.CzKQna1OU ID:yw7K62H2
- 試しにやってみました。
テスト掲示板が新仕様になっています。
新規投稿・レス投稿を別のファイルでホスト毎に記録します。 (サーバー負荷が想像つかないので、記録数の上限の設定 $hostnum を作ってみています) 新規投稿やレス投稿時は、それぞれのログファイルで同一のホストを調べて、 その値を調べるようにしています。
変更はregist.cgiで、 パラメータ設定のためにinit.cgi、 ログの保管用に thread.log response.log を用意します。
上記ファイル(テスト版) http://kirishima.it/patio/regist_34k110b.zip
この掲示板はそんなにアクセスがないので、 確認のしようがないので、テスト版を提供します。 現在配布しているバージョンより、 本件以外も微妙に変更されているソースからなので…。
しばらくしたらソース整理して配布バージョンとして更新しようと思っています。
何かお気づきの点があったらお知らせ下さい。
|
ログが正常に記録されないようです。。 ( No.5 ) |
- 日時: 2014/08/11 18:34
- 名前: Sora ID:14IpsqDg
- きりしま様
お返事下さいましてありがとうございます。
なるほど、そのような仕様になっていたのですね。 ありがとうございます、納得いたしました。
また、プログラムの更新をして頂きましてありがとうございます。
さっそく設置とテストをさせて頂いたのですが、 thread.logとresponse.logのログが正常に記録されていないように見受けられました。。
スレッド作成とコメント投稿を、家の回線とスマホの2回線で テスト掲示板で試してみたのですが、ログが1ログ(1行)しか記録されないようでした。 (テスト掲示板は私しかアクセスしない掲示板です。) (init.cgiは$hostnum = 10 で設定しています。) (きりしま様配布のpatio_34k105に、頂いた設定ファイルを上書きしています。)
スマホから書き込みで、response.logが、
response.log ***** s959131.xgsspn.imtp.tachikawa.spmode.ne.jp<>1407747083<> *****
家回線からの書き込みで、
response.log ***** 15521352.zaq.ne.jp<>1407746325<> *****
ように、1行しか記録されないようでした。 スレッド作成後のthread.logも同様となります。
多人数がアクセスする、稼働している掲示板でもテストしてみましたが、こちらはログは1行ではありませんでしたが、正常にログが記録されず、 下はresponse.log内容ですが、10秒ごとにサーバのresponse.logを開いたログを参考までに添付させて頂きます。
(init.cgiは$hostnum = 1000 で設定してみました。) (ログの内容は一部数字を変えさせて頂いております。)
response.log ***** softbank220044242153.bbtec.net<>1407748234<> i222-224-60-294.s05.a008.ap.plala.or.jp<>1407748226<> p2040-adsao04yokonib2-acca.kanagawa.ocn.ne.jp<>1407748211<> 58-290-222-224f1.osk3.eonet.ne.jp<>1407748208<> p22224-ipngn2601marunouchi.tokyo.ocn.ne.jp<>1407748205<> 202.252.88.57<>1407748200<> softbank226025248024.bbtec.net<>1407748197<> ntfkok259257.fkok.nt.ftth4.ppp.infoweb.ne.jp<>1407748196<> *****
10秒後の内容
response.log ***** 225-24-48-272.rev.home.ne.jp<>1407748254<> p2224-ipngn200205kanazawa.ishikawa.ocn.ne.jp<>1407748250<> softbank220044242153.bbtec.net<>1407748234<> i222-224-60-294.s05.a008.ap.plala.or.jp<>1407748226<> *****
さらに10秒後の内容
response.log ***** user027220.htv-net.ne.jp<>1407748288<> FL2-229-242-229-180.ymn.mesh.ad.jp<>1407748276<> p2040-adsao04yokonib2-acca.kanagawa.ocn.ne.jp<>1407748261<> 225-24-48-272.rev.home.ne.jp<>1407748254<> p2224-ipngn200205kanazawa.ishikawa.ocn.ne.jp<>1407748250<> *****
印象ですが、 p2224-ipngn200205kanazawa.ishikawa.ocn.ne.jp<>1407748250<> などのホストが後行に押し出されていって消えてしまっていく?ような印象を受けました。 何かの参考になれば幸いです。
試してみた限りでは上記の点が気になりましたので、 お手数をお掛けいたしますが、ご確認頂いてもよろしいでしょうか。
どうぞよろしくお願いいたします。
|
連続スレッド作成禁止時間と連続レス投稿禁止時間の設定はいくつですか? ( No.6 ) |
- 日時: 2014/08/12 21:08
- 名前: きりしま◆.CzKQna1OU ID:mg6WJM/I
- 新規スレッド作成時、返信投稿時の負荷を考慮して、
それぞれの書き込み禁止時間($wait_thread, $wait_response)をもとに、 新しい書き込みがあったときに、 すでに書き込み禁止時間が経過しているIPアドレスのログは捨てる仕様にしているつもりです。
そのため、たとえ $hostnum が1000件記録する設定でも、 1000件溜まるということはないかと思います。
連続スレッド作成禁止時間と 連続レス投稿禁止時間とのかねあいはいかがでしょうか?
また、ログ内の記録されている位置は、新しい書き込みをしたホストの記録が入る度に 下に下がっていって、最終的には押し出される形で消えるか、 途中で書き込み制限時間外になって消えるかするはずです。 (もちろん、新たな書き込みがあるまで残っているので、書き込みがある程度頻繁な掲示板でないと動作がよく確認できないかも知れません)
|
失礼いたしました、動作確認できました。 ( No.7 ) |
- 日時: 2014/08/13 03:12
- 名前: Sora ID:TwCpxxTA
- お返事頂きましてありがとうございます。
結論から申しますと、正常に動作確認が出来ました。 お返事頂いてから確認してみましたが、仰るように設定が以下のようになっており、こちらが原因でした。 ****** # 新規スレッド作成間隔(秒) $wait_thread = 5;
# レス投稿間隔(秒) $wait_response = 5; ******
設定を以下のように修正して動作が確認出来ました。 (先のご報告でも下の設定をしたものと勘違してしまっておりました。。) ****** # 新規スレッド作成間隔(秒) $wait_thread = 1200;
# レス投稿間隔(秒) $wait_response = 40; ******
こちらのミスで、作者様の貴重なお時間を頂いてしまいお手数をお掛けしました。 仕様についても、とても参考になりました。
稼働させて頂きまして、何かありましたら再度ご連絡をさせて頂ければと思いますので、 どうぞよろしくお願いいたします。
これからもきりしま式様のWeb Patioを末永くご利用させて頂きます。 この度は、プログラムの機能追加をして下さいましてありがとうございました。感謝致します!
|