なにやら意味深なタイトルつけたはいいものの、
言いたいことは単に、「お前ら連投しすぎ」というだけなのであんまり意味はない。

という訳で、先日プロクシ判定貰って水遁されたっぽい臨時用2ch串の忍法帖も、
Lv8まで育ち、ようやく「修行が足りません」の頻度も下がってきてひと安心。

と思ったら、連投しすぎが原因と思われる水遁に見舞われる。
この手の水遁は中の人含め全部の忍法帖が水遁されるのを学習したので、
もう、そんなに驚きはしない。

で、原因の書き込みなのだけれど、11:40~11:44にわたって21回連投を重ね、
「修行が足りません」を出し続けていた。
そりゃ、水遁されるわ。

「しばらくたってから投稿してください。(xx sec)」って日本語読めないのか?
XX秒待てって書いてあるんだよ。
待とうよ。
そんなに生き急いでどうするんだよ?

先日、書き込みできなかった時に書き込みを復帰させる機能をつけたのがいけなかった。
本来は、要望の通りの、ちょっと丁寧な長めの文章を書こうとした時の失敗時に、
再度書き込みする時に編集を補助する目的で作られたものだったのに。

結局、日本語読めない人の連投荒らしの助けをしただけだったなんて……

とりあえず、このままでは、第二、第三の連投さんが現れるのも時間の問題なので、
「修行が足りません」が出た場合には、そのホストからの書き込みは(xx sec)の秒数が
経過しないと、再書き込み出来ない仕様に変更した。
この間に書き込もうとすると、「書き込み間隔短すぎ」のエラーに飛ばされる。

加えて、 ppp.dion.ne.jp へのアクセス拒否を追加。
質問に答えてくれた、運用情報臨時板のDIONスレの人、ありがとう。
情報を元にこんな感じの Expression を書いて、POST要求を拒否するようにしてみた。

SetEnvIfExpr “%{REMOTE_HOST} =~ /[a-zA-Z]{1,2}[0-9]{6}.ppp.dion.ne.jp/ && %{REQUEST_METHOD} == ‘POST'” ng_host

これは今度の土日過ぎたら解除しようと思う。(忘れて無ければ)

というのも、今回のは心情的には割と理解できる点があるので。
わざわざ臨時用2ch串使うくらいだから、書き込みたい欲求はあるだろうし、
書き込み失敗したら、ちょっと熱くなってしまって、連投してしまうというのは、
あるかといえば、ありえるだろう。

21回はやり過ぎだと思うけど。

人はその時その時の感情で流されてしまうもの。
それはしかたのない事なのだ。

と、綺麗に纏まりそうなところで懸念点。
今回は一人の犯行だったわけなのだけれど、仕組み上、臨時用2ch串の負荷が今の数倍に
なるような事態になると、新しく作った仕組は破綻する。
大量のユーザーが1回ずつ出した「修行が足りません」も、
2chからの見え方としては、一人のユーザーが大量に「修行が足りません」にも
かかわらず、連投しているように見えるからだ。

本来なら、臨時用2ch串側で各板のsambaの値と、各板の最終書き込み時刻、
忍法帖Lvを保持して、最終書き込み時刻に忍法帖の制限値を加算して、
書き込み前に、2ch側で「修行が足りません」にならないかチェックし、
チェックを通った要求だけを2ch側に流す仕組みが必要になる。

が、良い感じの仕様が思い浮かばないので当面はこのまま行こうと思う。

「xx秒待って」の表示が出たあと、十分に時間が経ったであろうタイミングで書き込んでも
また「xx秒待って」が出て何度も書き込みに失敗することがあるのですが
これは単純に、誰かが自分より先に書き込んでその待機時間に入ってるだけですか?
お世話になっているので、間違って負担を掛けたりしていないか心配です。

written by 再生紙 2012/07/11 15:52

Yes
コメントの通りの動作なので、タイミングが悪い(ほかの人が書き込む)と何度でも出ます。
ちなみに、臨時用2ch串側での書き込み待ち時間の5分は「xx秒」ではリセットされないので、
5分待つ必要はありません。
最速で2ch側の制限のxx秒待てば書き込めるようになります。

written by ろじ 2012/07/11 20:46

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です