peko鯖の稼動によりボトルネックの一つである事がより明らかになった
bbs.cgi作り直しプロジェクトです。
【開発環境の工事現場】
また挑戦。@2ch掲示板 http://dso.2ch.net/myanmar/
また挑戦2。@2ch掲示板 http://dso.2ch.net/yangon/
関連スレなどは >>2-5 くらい
探検
bbs.cgi再開発プロジェクト6
レス数が950を超えています。1000を超えると書き込みができなくなります。
2005/04/10(日) 16:15:47ID:a6rtBqIi0
2005/08/17(水) 11:37:40ID:pNvdhSzi0
>652 >666等を読むと、AIR-EDGE PHONEセンターのID識別子導入は、
荒らし調査のための暫定的な措置のように感じるんですが、外すことはないですか?
その識別子導入の元ネタであろうと思われる、
AIR-EDGE PHONEセンターとその他のPRINの個別規制の方はどうでしょうか?
あと、携帯関連板での荒らしへの予防策として、
携帯キャリア(通信方式やIP接続サービス)別の識別子を携帯関連4板への導入を提案します。
そのときはAIR-EDGE PHONEセンターも区別されるべきですね。
荒らし調査のための暫定的な措置のように感じるんですが、外すことはないですか?
その識別子導入の元ネタであろうと思われる、
AIR-EDGE PHONEセンターとその他のPRINの個別規制の方はどうでしょうか?
あと、携帯関連板での荒らしへの予防策として、
携帯キャリア(通信方式やIP接続サービス)別の識別子を携帯関連4板への導入を提案します。
そのときはAIR-EDGE PHONEセンターも区別されるべきですね。
2005/08/17(水) 16:40:02ID:28w04LSko
2005/08/17(水) 16:58:21ID:roDSAVCk0
確かキャリア識別はする必要無いと言明していたな。
それが分かった所で規制する側には何もメリットは無いし、抑止効果のための識別じゃないからね。
パソコンのOSを識別するようなもん。
それが分かった所で規制する側には何もメリットは無いし、抑止効果のための識別じゃないからね。
パソコンのOSを識別するようなもん。
2005/08/17(水) 18:58:42ID:ix6djCUE0
0とPは荒らし対策、oはbbs.cgi内で一寸特殊な処理をしているので
rootさんが参考に入れてるんじゃなかったっけ
rootさんが参考に入れてるんじゃなかったっけ
2005/08/17(水) 19:10:42ID:HN+ypvhTP
>>853
Pも特殊処理(全規制スルー)だったような。
Pも特殊処理(全規制スルー)だったような。
855動け動けウゴウゴ2ちゃんねる
2005/08/31(水) 16:17:34ID:ERQCF2M70 ?
856動け動けウゴウゴ2ちゃんねる
2005/09/06(火) 12:47:53ID:muLUKym50 AIR-EDGE PHONEユーザーだけど、早くID末尾のoを外して欲しい。
857動け動けウゴウゴ2ちゃんねる
2005/09/06(火) 12:59:34ID:THbn48S/0 221
858root▲ ★
2005/09/09(金) 01:42:43ID:???0 BBS.CGI - 2005/09/09
222.13.35.0/24 だったら Client_IP: を調べて、あればログに残す。
これで、Willcomへの通報は可能になったはず。
222.13.35.0/24 だったら Client_IP: を調べて、あればログに残す。
これで、Willcomへの通報は可能になったはず。
859ちょろ ★
2005/09/09(金) 01:44:25ID:???0 Client_IP をログに残すなら
判定しなくてもいいのでは?
判定しなくてもいいのでは?
860root▲ ★
2005/09/09(金) 01:52:13ID:???0 >>859
最初はそう思ってたんですが、どうもGoogleしてみると、Client_IP: = HTTP_CLIENT_IP は、
非常に簡単に偽装できるらしいんですよ。
で「ここから来るHTTP_CLIENT_IPだけは信用する」っていうふうにしたと。
判定を増やすコストは、例のCIDRのパッケージを使っているので、
現在のbbs.cgiの合計コストから考えて、十分に小さいと判断したです。
最初はそう思ってたんですが、どうもGoogleしてみると、Client_IP: = HTTP_CLIENT_IP は、
非常に簡単に偽装できるらしいんですよ。
で「ここから来るHTTP_CLIENT_IPだけは信用する」っていうふうにしたと。
判定を増やすコストは、例のCIDRのパッケージを使っているので、
現在のbbs.cgiの合計コストから考えて、十分に小さいと判断したです。
で、以下余談なので帽子脱ごうと。
私が今回対応している理由のひとつは、自分も奥様もAIR-EDGE PHONEというか、
prinユーザだったりするからだったりします。
ppp.prin.ne.jpを永久全規制とかされたら奥様に何て言われるだろうか、、、
と思うと、書けないperlも書けたりするようです。
私が今回対応している理由のひとつは、自分も奥様もAIR-EDGE PHONEというか、
prinユーザだったりするからだったりします。
ppp.prin.ne.jpを永久全規制とかされたら奥様に何て言われるだろうか、、、
と思うと、書けないperlも書けたりするようです。
862● ◆ANGLERlqvM
NGNG (´-`;).。oO(苦労してますね。。。)
2005/09/10(土) 17:54:49ID:Oz0EJ4RnO
やっぱり自分に都合のいいことはやるんだね。
グローバルIPをもってない人はもってください、と同じで、全規制されたら違う手段を使ってください、だろうに。
グローバルIPをもってない人はもってください、と同じで、全規制されたら違う手段を使ってください、だろうに。
2005/09/10(土) 18:05:36ID:/WEUY0t90
個人サイトですべての利用者が平等な必要があるのかと
865動け動けウゴウゴ2ちゃんねる
2005/09/10(土) 18:05:54ID:zB9Y0vkN0 http://qb5.2ch.net/test/read.cgi/operate/1125748886/716
↑どういう仕組みで止めてるの?
↑どういう仕組みで止めてるの?
2005/09/10(土) 18:09:36ID:r7NgOcl/0
Client_IPをログに残すだけなら判定は後回しでもいいんじゃ?と思った
(とりあえず記録しといて問題が起きたときに信用できるか調べる)
(とりあえず記録しといて問題が起きたときに信用できるか調べる)
2005/09/10(土) 18:28:06ID:B2Wejsug0
>>861
ほんとは夫婦で●共有しているくせに
ほんとは夫婦で●共有しているくせに
2005/09/10(土) 20:40:30ID:tC7Do3ra0
オレもAIR-EDGE PHONEユーザーだから応援する。
しかしJRCやめて早く新しい機種でないかなぁ。
しかしJRCやめて早く新しい機種でないかなぁ。
2005/09/11(日) 13:52:26ID:uh2Q9bvo0
>>861
あのーp2経由で2ちゃんに参加するってぇのは駄目なの?
あのーp2経由で2ちゃんに参加するってぇのは駄目なの?
2005/09/12(月) 20:19:17ID:35vELVZ60
そのクレカ、名義人本人以外が使って良いの?
2005/09/12(月) 20:25:08ID:jtpZdRO+0
本人が別々のクレカで二つ買ったのをひとつ与えてるんだろう。
というかスレ違い。粗探しはよそで。
というかスレ違い。粗探しはよそで。
2005/09/12(月) 21:48:56ID:35vELVZ60
叩きたいわけじゃないよ
何かあった時保障がないんじゃないかとちょっと心配しただけ
今は本人確認うるさいし
本人が良いならそれでいいんだけど
何かあった時保障がないんじゃないかとちょっと心配しただけ
今は本人確認うるさいし
本人が良いならそれでいいんだけど
2005/09/12(月) 23:02:56ID:az9VaDrT0
>本人が良いならそれでいいんだけど
余計なお世話と分かっているのに続けるのは粘着への第一歩かと。
余計なお世話と分かっているのに続けるのは粘着への第一歩かと。
2005/09/13(火) 14:10:17ID:aDy7aNWL0
愛があれば大丈夫です。
でも、愛が無くなった時が大変です。
でも、愛が無くなった時が大変です。
2005/09/15(木) 17:40:25ID:qMrRVxhX0
>>875
コラッ!本人を目の前にしてそんなこと言うんじゃありません!
コラッ!本人を目の前にしてそんなこと言うんじゃありません!
877動け動けウゴウゴ2ちゃんねる
2005/09/17(土) 12:48:38ID:VBcpY5C10 >>875
それなんてきみまろ?
それなんてきみまろ?
878動け動けウゴウゴ2ちゃんねる
2005/09/21(水) 22:02:20ID:fVZ+dGIa0 >>864
必要はないが利用者が騒ぐだけ
必要はないが利用者が騒ぐだけ
2005/09/21(水) 22:14:28ID:RbGH9Mto0
で?
2005/09/22(木) 17:08:12ID:QnTbAkUhO
ど?
881動け動けウゴウゴ2ちゃんねる
2005/09/22(木) 17:38:23ID:8luWl9mk0 う?
882動け動けウゴウゴ2ちゃんねる
2005/10/09(日) 23:46:12ID:o192VLCT0 よ?
2005/10/15(土) 13:05:17ID:XEAlpA8H0
か?
884root▲ ★
2005/10/21(金) 20:42:04ID:???0 BBS.CGI - 2005/10/21
live16/20/22 を対象に、緊急時に発動するしかけを投入。
live16/20/22 を対象に、緊急時に発動するしかけを投入。
2005/10/21(金) 20:48:12ID:ym2sR/ej0
おつです
887動け動けウゴウゴ2ちゃんねる
2005/10/24(月) 14:31:01ID:b+V7uzLR0 「書きこみ&クッキー確認」の画面で、
[上記全てを承諾して書き込む]を押さずに、ブラウザの「戻る」機能で戻った場合、
次回以降、確認画面が出ずに、いきなり書き込めてしまいます。
このバグを悪用して、
俺は2chに書き込んではいるが、投稿確認に書かれた事項は承諾していない
と主張している困ったさんがいます。
簡単に直せるなら、直してもらえないでしょうか。
(そうすると、その人は書き込まなくなるでしょうから、
その人によるスレの話題の激しい脱線・罵り合いから、
スレが救われます。)
[上記全てを承諾して書き込む]を押さずに、ブラウザの「戻る」機能で戻った場合、
次回以降、確認画面が出ずに、いきなり書き込めてしまいます。
このバグを悪用して、
俺は2chに書き込んではいるが、投稿確認に書かれた事項は承諾していない
と主張している困ったさんがいます。
簡単に直せるなら、直してもらえないでしょうか。
(そうすると、その人は書き込まなくなるでしょうから、
その人によるスレの話題の激しい脱線・罵り合いから、
スレが救われます。)
888▲ ◆SANUKI/VII
NGNG …
890▲ ◆SANUKI/VII
NGNG [上記すべてを承諾して書き込む]じゃなくて、
ワンクリみたいに強制的に承諾させちゃえばいいんじゃない?w
ワンクリみたいに強制的に承諾させちゃえばいいんじゃない?w
892674○part18 ◆IiIGjn5YT2
2005/10/24(月) 15:07:16ID:6jlOsF770 専ブラ側でも対応が必要になってきますね、この問題。
cookieがセットされていないなら承諾画面を出してformに
「bbs.cgiしか知らないテンポラリキー\0名前欄\0メールアドレス欄\0本文」
のハッシュ(md5かなにか?)をhiddenで入れておく。
でもって、実際の書き込み時にcookieをセットする、という形にならざるをえないのではないかと。
コスト削減のためにID算出と同じ種を使っても良いかも。
cookieがセットされていないなら承諾画面を出してformに
「bbs.cgiしか知らないテンポラリキー\0名前欄\0メールアドレス欄\0本文」
のハッシュ(md5かなにか?)をhiddenで入れておく。
でもって、実際の書き込み時にcookieをセットする、という形にならざるをえないのではないかと。
コスト削減のためにID算出と同じ種を使っても良いかも。
893674●part18 ◆IiIGjn5YT2
2005/10/24(月) 15:09:44ID:6jlOsF770 あ、リモホを入れていないのは携帯など毎回代わってしまうところを考慮に入れているからです。
2005/10/24(月) 15:36:15ID:Uzh/6H5L0
対応策として・・・
・クッキーに承諾したフラグを入れる入れないの問題
・カキコボタンにtarget=newを仕込むようにして新しい開くようにしてブラウザでバックできなくする
なんかがおもいつきでかけますが・・・どうでしょう>rootさん
・クッキーに承諾したフラグを入れる入れないの問題
・カキコボタンにtarget=newを仕込むようにして新しい開くようにしてブラウザでバックできなくする
なんかがおもいつきでかけますが・・・どうでしょう>rootさん
2005/10/24(月) 15:37:57ID:zrtRI6jl0
>>894
馬鹿は引っ込んでろ
馬鹿は引っ込んでろ
2005/10/24(月) 15:38:43ID:Uzh/6H5L0
>>894
あっと、これの後者はw3mとかのテキストブラウザの場合には使えませんね・・・
テキストブラウザでどれだけカキコがあるかにもよると思いますが、
かなり多いようであればnewWindow案は棄却だと思います。
あっと、これの後者はw3mとかのテキストブラウザの場合には使えませんね・・・
テキストブラウザでどれだけカキコがあるかにもよると思いますが、
かなり多いようであればnewWindow案は棄却だと思います。
897674●part18 ◆IiIGjn5YT2
2005/10/24(月) 15:41:06ID:6jlOsF770 >>894
二番目は意味がないです。
このケースではブラウザのバックボタンがつかえるかどうかはさしたる意味を持ちません。
それだけなら元のwindowでもう一度書き込みボタンを押せば突破できてしまいます。
二番目は意味がないです。
このケースではブラウザのバックボタンがつかえるかどうかはさしたる意味を持ちません。
それだけなら元のwindowでもう一度書き込みボタンを押せば突破できてしまいます。
2005/10/24(月) 15:48:33ID:Uzh/6H5L0
2005/10/24(月) 16:27:35ID:2Gpt3UV80
>>889
「この画面を表示させた後の書き込みは、すべて上記内容を承諾したものとみなします。」の
一文でも書き加えればいいと思われ。
で、そうするとボタンのキャプションがくどいから、ボタンは「書き込む」だけに変更。
大人の世界の内容なんだからシステムで解決できないなら
大人らしく承諾させる内容だけで勝負を。
「この画面を表示させた後の書き込みは、すべて上記内容を承諾したものとみなします。」の
一文でも書き加えればいいと思われ。
で、そうするとボタンのキャプションがくどいから、ボタンは「書き込む」だけに変更。
大人の世界の内容なんだからシステムで解決できないなら
大人らしく承諾させる内容だけで勝負を。
2005/10/24(月) 17:04:56ID:2Gpt3UV80
ボタンを押させる事が重要なのか。
それなら表示されるのと同じ内容をどこかにまとめておいて、
初回は強制表示で、2回目以降は表示させなくする判定をread.cgiで読み取って
read.cgiの書き込みボタンのキャプションを「○○を承諾して書き込み」に置き換えて、
承諾させる内容をまとめたページへの○○ってリンクを表示させるとか。
専用ブラウザは使うこと自体承諾したようなものだと思うし。
それなら表示されるのと同じ内容をどこかにまとめておいて、
初回は強制表示で、2回目以降は表示させなくする判定をread.cgiで読み取って
read.cgiの書き込みボタンのキャプションを「○○を承諾して書き込み」に置き換えて、
承諾させる内容をまとめたページへの○○ってリンクを表示させるとか。
専用ブラウザは使うこと自体承諾したようなものだと思うし。
2005/10/24(月) 17:23:35ID:uzN2YoDz0
今
U) bbs.cgiにアクセス
B) クッキーが無い
B) 確認画面&クッキー発行(←表示した段階で発行!)
U)承諾ボタン押して送信 or 承諾ボタン押さず再度投稿
B) クッキーがある&その他問題無し
B) 投稿完了
変更案
U) bbs.cgiにアクセス
B) クッキーが無い
B) 確認画面
U) 承諾ボタンを押す
B) もし($FORM{'submit'} が "承諾云々")なら {クッキー発行};
&他各種投稿の処理
B) 投稿完了 or 何かエラー(←この返事の段階で発行!)
U = ユーザーの操作
B = bbs.cgiの処理
U) bbs.cgiにアクセス
B) クッキーが無い
B) 確認画面&クッキー発行(←表示した段階で発行!)
U)承諾ボタン押して送信 or 承諾ボタン押さず再度投稿
B) クッキーがある&その他問題無し
B) 投稿完了
変更案
U) bbs.cgiにアクセス
B) クッキーが無い
B) 確認画面
U) 承諾ボタンを押す
B) もし($FORM{'submit'} が "承諾云々")なら {クッキー発行};
&他各種投稿の処理
B) 投稿完了 or 何かエラー(←この返事の段階で発行!)
U = ユーザーの操作
B = bbs.cgiの処理
>>902
手元に承諾form同等の機能だけもったform置いたら突破できますよ、それ。
手元に承諾form同等の機能だけもったform置いたら突破できますよ、それ。
2005/10/24(月) 17:41:20ID:uzN2YoDz0
承諾するとは言ったがその利用規約を承諾した覚えは無い。
というのが通用するならね。
というのが通用するならね。
2005/10/24(月) 17:42:55ID:uzN2YoDz0
投稿規約を承諾するとは言ったが投稿規約を承諾した覚えは無い
の方が良いかな。
の方が良いかな。
2005/10/24(月) 17:44:15ID:uzN2YoDz0
荒らし対策じゃないんで、投稿を防ぐ必要は無いんだよね、別に。
承諾さえされれば。
承諾さえされれば。
2005/10/24(月) 20:15:37ID:dTT/EBc00
>>901
それで解決ですな
それで解決ですな
2005/10/24(月) 21:19:20ID:b+V7uzLR0
承諾したくない困った人は、これを改良したとしても、
前回は承諾フォームが出て承諾して書き込んだが、
今回は承諾フォームが出なかったので、表示されもしない内容に承諾できるわけがない、承諾していない
と言い出すと思う。
書き込む度に、確認・承諾フォームを表示しないようにするのは、なぜでしょう。
転送量が厳しいから、その節約のためでしょうか。
前回は承諾フォームが出て承諾して書き込んだが、
今回は承諾フォームが出なかったので、表示されもしない内容に承諾できるわけがない、承諾していない
と言い出すと思う。
書き込む度に、確認・承諾フォームを表示しないようにするのは、なぜでしょう。
転送量が厳しいから、その節約のためでしょうか。
2005/10/24(月) 22:07:15ID:qWPT8NKZ0
つまりクッキーを持ってると表示されない・書き込めるということなら、確認画面を表示したことを
クッキーで確認していることとクッキーとともに書き込むデータをそぅしんしてきたら
自動的に確認画面の内容を承諾したとみなすと確認画面に書いてしまえばいいかも。
クッキーで確認していることとクッキーとともに書き込むデータをそぅしんしてきたら
自動的に確認画面の内容を承諾したとみなすと確認画面に書いてしまえばいいかも。
2005/10/24(月) 22:35:14ID:+k9SoKLc0
つーかシステム側で対応しなくても http://info.2ch.net/guide/ あたりに
2chは以下の条件を承諾した方のみ書き込み可能です。
・投稿者は、投稿に関して発生する責任が全て投稿者に帰すことを承諾します。
・投稿者は、話題と無関係な広告の投稿に関して、相応の費用を支払うことを承諾します
こんな感じの項目を作ればいいんじゃないの?
2chは以下の条件を承諾した方のみ書き込み可能です。
・投稿者は、投稿に関して発生する責任が全て投稿者に帰すことを承諾します。
・投稿者は、話題と無関係な広告の投稿に関して、相応の費用を支払うことを承諾します
こんな感じの項目を作ればいいんじゃないの?
2005/10/24(月) 22:44:31ID:qWPT8NKZ0
2005/10/24(月) 23:05:11ID:JW5bc+/z0
【きちんと】設置された承諾画面を【わざわざ】回避する措置を講じる者は
その時点で、それ相応の責任を負うと言わざるを得ないかと 何というか
その時点で、それ相応の責任を負うと言わざるを得ないかと 何というか
2005/10/24(月) 23:32:12ID:g/PC7NDH0
一つの方法は、承諾ボタンと同時に、拒否ボタンを作っておくことかな
そして「拒否ボタンを押す以外の否認の方法はありません」とでも書く。
いずれにせよ、言い逃れができない形にしないと、たとえば2ch発の
書籍を作ったりする際にいろいろ問題が発生してしまいそうな気もする。
そして「拒否ボタンを押す以外の否認の方法はありません」とでも書く。
いずれにせよ、言い逃れができない形にしないと、たとえば2ch発の
書籍を作ったりする際にいろいろ問題が発生してしまいそうな気もする。
2005/10/25(火) 01:09:02ID:x9TmyNgO0
まあ、建前で表示してるだけだし。
2005/10/25(火) 01:19:46ID:PSbrr/As0
>>914
建前…っても、
http://www.itmedia.co.jp/news/bursts/0204/15/13.html
みたいに、書籍の出版・販売差し止めと賠償を認めた判決もあるし。
2ちゃんねる編の書籍もある以上、あまりないがしろにするのもどうかと。
「拒否ボタン」いいね。
建前…っても、
http://www.itmedia.co.jp/news/bursts/0204/15/13.html
みたいに、書籍の出版・販売差し止めと賠償を認めた判決もあるし。
2ちゃんねる編の書籍もある以上、あまりないがしろにするのもどうかと。
「拒否ボタン」いいね。
2005/10/25(火) 08:01:32ID:x9TmyNgO0
通常の利用ではありえない方法で、規約に同意したかのような
データを送信して、そうであるから規約には同意していないのだ、
というのが通用するかどうかのな。
掲示板での議論ではなく、裁判で。
だから、まあ、建前を通していれば、不利になる事態は
そうは無いかな、とか。
そういった点で、通常の利用方法で、承諾しなくても承諾と
見なされている現状の改善が議題なわけだね。
データを送信して、そうであるから規約には同意していないのだ、
というのが通用するかどうかのな。
掲示板での議論ではなく、裁判で。
だから、まあ、建前を通していれば、不利になる事態は
そうは無いかな、とか。
そういった点で、通常の利用方法で、承諾しなくても承諾と
見なされている現状の改善が議題なわけだね。
2005/10/25(火) 08:16:28ID:x9TmyNgO0
承諾を回避して「そんな規約シラネ」というなら、拒否ボタンが
有ろうが無かろうが「そんな規約シラネ」なだけじゃん。
有ろうが無かろうが「そんな規約シラネ」なだけじゃん。
2005/10/25(火) 08:23:43ID:PSbrr/As0
承諾メッセージは送信時に明示されるからいいとして、
裁判だと、「不具合があるのを知っていたにも関わらず対策をとらなかった」
式の判断で負けちゃう場合もありますよ。(心配性)
無理でなければ、なんらかの対策をとってほしいです。
裁判だと、「不具合があるのを知っていたにも関わらず対策をとらなかった」
式の判断で負けちゃう場合もありますよ。(心配性)
無理でなければ、なんらかの対策をとってほしいです。
2005/10/25(火) 08:34:51ID:x9TmyNgO0
承諾が必要な事を知りながら承諾を偽装した
と判断される事を心配しようよ。
と判断される事を心配しようよ。
2005/10/25(火) 08:36:46ID:x9TmyNgO0
荒らし対策と規約承諾を別々のクッキーで扱うのが面倒なら、
>>910をしつつ、投稿ボタンを全て「規約を承諾して書き込む」
にして、
もし ($FORM{'submit'} が "承諾云々" ではない) なら
{DispError("ERROR!","規約を承諾しないと投稿できません!");}
とか
専ブラが全滅だけどね。対応されるまで。
>>910をしつつ、投稿ボタンを全て「規約を承諾して書き込む」
にして、
もし ($FORM{'submit'} が "承諾云々" ではない) なら
{DispError("ERROR!","規約を承諾しないと投稿できません!");}
とか
専ブラが全滅だけどね。対応されるまで。
2005/10/25(火) 08:39:35ID:PSbrr/As0
2005/10/25(火) 09:19:32ID:8gkXZmw80
まあ、最近インスパイアのこともあってぴりぴりしてるから
これを機に徹底的に話し合って詰めた方がいいかもね。
これを機に徹底的に話し合って詰めた方がいいかもね。
2005/10/25(火) 21:03:44ID:Y9ML3vBs0
924root▲ ★
2005/10/25(火) 21:25:44ID:???0 というか、あんなに防御していたのに、
スレッドが80超えちゃってたのがなぁ。
たぶんほとんど同時に何十本とスレ立て要求が来て、一気に追い込まれたんだと思われ。
何か、工夫が必要ですね。
スレ立て処理を実行中の船は、スレ立て処理をしないようにするとか。
グローバル変数でできるような気がするので、後で、考えてみよう。
スレッドが80超えちゃってたのがなぁ。
たぶんほとんど同時に何十本とスレ立て要求が来て、一気に追い込まれたんだと思われ。
何か、工夫が必要ですね。
スレ立て処理を実行中の船は、スレ立て処理をしないようにするとか。
グローバル変数でできるような気がするので、後で、考えてみよう。
2005/10/26(水) 01:25:19ID:KEQJ4CBE0
>>923
Monazilla/2.0 ですか?
Monazilla/2.0 ですか?
926root▲ ★
2005/10/26(水) 11:45:03ID:???0 うーむ、同じスレッドキーのスレができないようにするところって、
激しくうーむなような。
激しくうーむなような。
2005/10/26(水) 12:22:51ID:s6PZNUUX0
どうしたの?
安易なロック方式として、スレを立てるところで
どこか(板単位で分離が好ましい?)にunixtime%閾値をファイル名として/dev/nullからでもsymlinkを貼ってみて、
失敗したらスレたて拒否。成功したら建てる。
ガベージコレクトのタイミングで一番新しいヤツ以外を削除するようにすればおっけ。
マルチスレッド/タスクを考慮するならこれが一番コストがかからないと思いますがどうです?
閾値はスレたての最大間隔ね。最小1秒になることもあるけど2スレ連続ならまぁ許容範囲内ではないかと。
どこか(板単位で分離が好ましい?)にunixtime%閾値をファイル名として/dev/nullからでもsymlinkを貼ってみて、
失敗したらスレたて拒否。成功したら建てる。
ガベージコレクトのタイミングで一番新しいヤツ以外を削除するようにすればおっけ。
マルチスレッド/タスクを考慮するならこれが一番コストがかからないと思いますがどうです?
閾値はスレたての最大間隔ね。最小1秒になることもあるけど2スレ連続ならまぁ許容範囲内ではないかと。
2005/10/26(水) 13:03:24ID:BcSDlqwC0
ん?
Perlでのまともなlockの方法って、2年ほど前の再開発スレでrootさんが話題にしてましたよね。
そのレベルは脱した上で「うーむ」なことに成っているのだと解釈。
Perlでのまともなlockの方法って、2年ほど前の再開発スレでrootさんが話題にしてましたよね。
そのレベルは脱した上で「うーむ」なことに成っているのだと解釈。
2005/10/26(水) 13:24:34ID:s6PZNUUX0
ほぼ同時にスレ立て要求→同時に数十本もスレ立っちゃった→スレッドキーみんな同じだ→しかも今夜が山だ
こんなところ?
こんなところ?
931root▲ ★
2005/10/26(水) 13:29:31ID:???0 今の bbs.cgi は、同じスレッドキーのやつが立たないようにするコードが
ちゃんと入っているです。
ようは、その実装方法がうーむだと。
ちゃんと入っているです。
ようは、その実装方法がうーむだと。
932root▲ ★
2005/10/26(水) 13:51:08ID:???0 do {
#サブジェクトがあれば新規スレなのでキーを現在に設定
$GB->{FORM}->{'key'} = $GB->{NOWTIME};
#.datファイルの設定
$DATAFILE = $GB->{DATPATH} . $GB->{FORM}->{'key'} . ".dat";
} while ( -e $DATAFILE ) ;
これって、$DATAFILE が既に存在してたら、無限ループに陥るんではないかしら。
#サブジェクトがあれば新規スレなのでキーを現在に設定
$GB->{FORM}->{'key'} = $GB->{NOWTIME};
#.datファイルの設定
$DATAFILE = $GB->{DATPATH} . $GB->{FORM}->{'key'} . ".dat";
} while ( -e $DATAFILE ) ;
これって、$DATAFILE が既に存在してたら、無限ループに陥るんではないかしら。
933stream ◆ap/yuix/tw
2005/10/26(水) 14:15:06ID:qwHTUNtV0 不動楽さんが入れたやつですね
2chの動作報告はここで。 パート15
http://qb5.2ch.net/test/read.cgi/operate/1090485214/676-685
==========================================
676 削除車 ★[sage] 04/11/01 23:25:56 ID:???
お疲れさまです。ちょっとご相談があります。
最近ニュース速報(VIP)が、非常に板飛び回数が多いです。
少しお話を窺ったところ、同じタイミングでスレが立ったときに合体を起こして、板が飛ぶみたいです。
お手数ですが、ちょっとcgiの方を確認していただけますか?
(それとも一般的なことで、VIPでたまたま多く発生しているだけなんでしょうか)
よろしくお願いします。
★板のスレ一覧復帰&修正依頼21★
http://qb5.2ch.net/test/read.cgi/operate/1096548247/677-682
679 不動楽 ★ [sage] 04/11/02 00:45:12 ID:???
>>676
原因らしき個所は炙り出せたのですが、
その変数にからむ処理を上から眺めていきますので、
少しお時間を頂きたいです。
>(それとも一般的なことで、VIPでたまたま多く発生しているだけなんでしょうか)
ex7だけでなく、全板のbbs.cgiで同じことが起こる可能性があるようです。
684 root▲ ★ [sage] 04/11/02 02:08:27 ID:???
直すときには、安易な flock() は控えてほしいなぁと強くおながいしておきますです。
685 不動楽 ★ [sage] 04/11/02 02:13:12 ID:???
>>684
排他処理をしていないのが原因、というわけではないので大丈夫かと思うです。
==========================================
2chの動作報告はここで。 パート15
http://qb5.2ch.net/test/read.cgi/operate/1090485214/676-685
==========================================
676 削除車 ★[sage] 04/11/01 23:25:56 ID:???
お疲れさまです。ちょっとご相談があります。
最近ニュース速報(VIP)が、非常に板飛び回数が多いです。
少しお話を窺ったところ、同じタイミングでスレが立ったときに合体を起こして、板が飛ぶみたいです。
お手数ですが、ちょっとcgiの方を確認していただけますか?
(それとも一般的なことで、VIPでたまたま多く発生しているだけなんでしょうか)
よろしくお願いします。
★板のスレ一覧復帰&修正依頼21★
http://qb5.2ch.net/test/read.cgi/operate/1096548247/677-682
679 不動楽 ★ [sage] 04/11/02 00:45:12 ID:???
>>676
原因らしき個所は炙り出せたのですが、
その変数にからむ処理を上から眺めていきますので、
少しお時間を頂きたいです。
>(それとも一般的なことで、VIPでたまたま多く発生しているだけなんでしょうか)
ex7だけでなく、全板のbbs.cgiで同じことが起こる可能性があるようです。
684 root▲ ★ [sage] 04/11/02 02:08:27 ID:???
直すときには、安易な flock() は控えてほしいなぁと強くおながいしておきますです。
685 不動楽 ★ [sage] 04/11/02 02:13:12 ID:???
>>684
排他処理をしていないのが原因、というわけではないので大丈夫かと思うです。
==========================================
934root▲ ★
2005/10/26(水) 14:19:31ID:???0 それについて書こうと思ったら、>>933 が。
それは、これですね。
上記よりも後、最後ところでやっているです。
if($GB->{FORM}->{'subject'} ne "" && -e $DATAFILE){
&DispError2($GB,"ERROR!","ERROR:板飛びそうなので、またの機会にどうぞ。。。");
}
ということで、それはクラシックさんが入れたところではないと思います。
昔からあったところだと思う。
*以下推測*
たぶん、昔は do 〜 while のところでもtime; していたんでしょう。
それなら、1秒経てば条件が変わります(ループを抜けるかは別)。
それは、これですね。
上記よりも後、最後ところでやっているです。
if($GB->{FORM}->{'subject'} ne "" && -e $DATAFILE){
&DispError2($GB,"ERROR!","ERROR:板飛びそうなので、またの機会にどうぞ。。。");
}
ということで、それはクラシックさんが入れたところではないと思います。
昔からあったところだと思う。
*以下推測*
たぶん、昔は do 〜 while のところでもtime; していたんでしょう。
それなら、1秒経てば条件が変わります(ループを抜けるかは別)。
935root▲ ★
2005/10/26(水) 14:20:57ID:???0 コピペみすった。
コメントつきなので、ほぼ間違いないです。
#==================================================
# 板飛び回避策
#==================================================
if($GB->{FORM}->{'subject'} ne "" && -e $DATAFILE){
&DispError2($GB,"ERROR!","ERROR:板飛びそうなので、またの機会にどうぞ。。。");
}
コメントつきなので、ほぼ間違いないです。
#==================================================
# 板飛び回避策
#==================================================
if($GB->{FORM}->{'subject'} ne "" && -e $DATAFILE){
&DispError2($GB,"ERROR!","ERROR:板飛びそうなので、またの機会にどうぞ。。。");
}
936root▲ ★
2005/10/26(水) 14:39:15ID:???0 で、ここの制御を変えようと思うわけです。
安易に、
・live系は既にあったらごめんなさい
・他はスレッドキーを+1しながら、最大3回ぐらい試してみる
ってことにしようかなと。
安易に、
・live系は既にあったらごめんなさい
・他はスレッドキーを+1しながら、最大3回ぐらい試してみる
ってことにしようかなと。
937root▲ ★
2005/10/26(水) 16:22:21ID:???0 BBS.CGI - 2005/10/26
$GB->{FORM}->{'key'} = &mumumuAllocateThreadKey($GB);
$DATAFILE = $GB->{DATPATH} . $GB->{FORM}->{'key'} . ".dat";
にした。
で、mumumu AllocateThreadKeyの中身は >>936 にしたつもり。
これで、
・bbs.cgi謎の暴走
・スレ立て混雑時にサーバ劇重
が、少しでも改善されるといいかなと。
$GB->{FORM}->{'key'} = &mumumuAllocateThreadKey($GB);
$DATAFILE = $GB->{DATPATH} . $GB->{FORM}->{'key'} . ".dat";
にした。
で、mumumu AllocateThreadKeyの中身は >>936 にしたつもり。
これで、
・bbs.cgi謎の暴走
・スレ立て混雑時にサーバ劇重
が、少しでも改善されるといいかなと。
スレッドキーは毎秒かわるんでしたっけ、でしたらこんなのはどうですか?
0. ロックの待ち番号を0で初期化
1. ロックの待ち番号をファイル名にして/dev/nullからsymlinkしてみる
成功; → 6へ
2. ロックの待ち番号を1カウントアップ
3. ロックの待ち番号最大値を超えてるかチェック
超えてる: → 建てたい人大杉表示にして諦める
4. 1秒まつ
5. 1へ
6. ロックの待ち番号が0か?
はい: 9へ
7. 0.5秒待つ。
8. ロックの待ち番号-1をsymlinkしてみる
失敗: → 7へ
成功:
ロックの待ち番号をunlink
ロックの待ち番号を-1
6へ
9. スレたて処理
0. ロックの待ち番号を0で初期化
1. ロックの待ち番号をファイル名にして/dev/nullからsymlinkしてみる
成功; → 6へ
2. ロックの待ち番号を1カウントアップ
3. ロックの待ち番号最大値を超えてるかチェック
超えてる: → 建てたい人大杉表示にして諦める
4. 1秒まつ
5. 1へ
6. ロックの待ち番号が0か?
はい: 9へ
7. 0.5秒待つ。
8. ロックの待ち番号-1をsymlinkしてみる
失敗: → 7へ
成功:
ロックの待ち番号をunlink
ロックの待ち番号を-1
6へ
9. スレたて処理
939root▲ ★
2005/10/26(水) 16:30:25ID:???0 >>938
最初はそういうのを考えていたんですが、
1秒とか0.5秒とか待つのが、いやだったです。
スレッドキーは所詮本当の時間とあっている必要はないので、
・live系はごめんなさい
・通常系は 0 +1 +2 を試して、だめならごめんなさい
ぐらいのいい加減さにして、一刻も早くbbs.cgiに終わっていただくことにしました。
最初はそういうのを考えていたんですが、
1秒とか0.5秒とか待つのが、いやだったです。
スレッドキーは所詮本当の時間とあっている必要はないので、
・live系はごめんなさい
・通常系は 0 +1 +2 を試して、だめならごめんなさい
ぐらいのいい加減さにして、一刻も早くbbs.cgiに終わっていただくことにしました。
それだと、多台数とかからスレたて攻撃が同時に来たときにやっぱり被害が起こることは避けれないと思いますがどうでしょう。
2005/10/26(水) 16:50:01ID:BcSDlqwC0
計算量がO(n * log n)で収まれば収束しないか?
2005/10/26(水) 16:51:55ID:/5B2u2B30
メモリ上に前回のスレキーを持たせたファイルを置いてそれを参照
とかは無理だろうしなぁ…
(素人案だし毎回読み込みとか(ry)
とかは無理だろうしなぁ…
(素人案だし毎回読み込みとか(ry)
943root▲ ★
2005/10/26(水) 17:00:02ID:???0 >>940
if ( ! -e datファイル ) {
return それでOKよん;
} elsif ( ! live系 ) {
for ( $i = 0; $i < $maxtries; $i++) {
スレッドキーを一つずつ増やして存在チェックし、なかったやつを
return これ使ってちょ;
}
&error(ごめんなさい);
って、なっています。
というわけでおっしゃるとおり、タイミングにより突破もありえます。
その場合は、>>935 でひっかかると。
でもそれにしても、ほんとうは完璧じゃないです。
雪だるま作戦では、このへんはバックエンドプロセスに依頼する形になるので、
その時に、きちんと対応することになるかなと。
if ( ! -e datファイル ) {
return それでOKよん;
} elsif ( ! live系 ) {
for ( $i = 0; $i < $maxtries; $i++) {
スレッドキーを一つずつ増やして存在チェックし、なかったやつを
return これ使ってちょ;
}
&error(ごめんなさい);
って、なっています。
というわけでおっしゃるとおり、タイミングにより突破もありえます。
その場合は、>>935 でひっかかると。
でもそれにしても、ほんとうは完璧じゃないです。
雪だるま作戦では、このへんはバックエンドプロセスに依頼する形になるので、
その時に、きちんと対応することになるかなと。
944root▲ ★
2005/10/26(水) 17:03:08ID:???0 てなわけで、-e でdatファイルの存在をチェックしていたり、
924の処理のところみたいに utime でdatのタイムスタンプ更新したりすることは
雪だるま環境ではそのままではむりぽなわけで、
そういったAPIを、入れ込んでほしいということなわけです。
一つ海外出張がキャンセルになってちょっと落ち着いたので、
このへんを、ぼちぼちあっちですすめようかなと。> SunOSさん
924の処理のところみたいに utime でdatのタイムスタンプ更新したりすることは
雪だるま環境ではそのままではむりぽなわけで、
そういったAPIを、入れ込んでほしいということなわけです。
一つ海外出張がキャンセルになってちょっと落ち着いたので、
このへんを、ぼちぼちあっちですすめようかなと。> SunOSさん
946▲ ◆cZfSunOs.U
2005/10/26(水) 22:28:35ID:ICyD85HJ0 ん〜と,現在の bbsd ではスレ立て時の key をインクリメントしながら一定回数(現在は16)
リトライするようになっています.その際,open() を O_CREAT|O_EXCL フラグ付きで
呼び出しているため,ファイルの存在確認と生成はアトミックになっているはずです.
当初はスレ立て時の key としては bbsd 側の現在時刻を用いていましたが,
それだと headline に渡す key とのずれが生じる問題も発生したため,
現在は bbs.cgi 側から渡された key を使用するようになっています.
ただ,上記の key のインクリメントが発生するとやはりずれが生じることに
なるので,そこの調整をする仕組みが必要になりますかね.
リトライするようになっています.その際,open() を O_CREAT|O_EXCL フラグ付きで
呼び出しているため,ファイルの存在確認と生成はアトミックになっているはずです.
当初はスレ立て時の key としては bbsd 側の現在時刻を用いていましたが,
それだと headline に渡す key とのずれが生じる問題も発生したため,
現在は bbs.cgi 側から渡された key を使用するようになっています.
ただ,上記の key のインクリメントが発生するとやはりずれが生じることに
なるので,そこの調整をする仕組みが必要になりますかね.
947▲ ◆cZfSunOs.U
2005/10/26(水) 22:37:27ID:ICyD85HJ0 単純に,bbsd 側ではリトライせず,key をインクリメントした上でのリトライは
bbs.cgi 側に任せるという形でもいいんですかね.同じ key を持つ dat が
存在した場合,bbsd は EEXIST に相当するエラーメッセージを返すことになるんで.
bbs.cgi 側に任せるという形でもいいんですかね.同じ key を持つ dat が
存在した場合,bbsd は EEXIST に相当するエラーメッセージを返すことになるんで.
2005/10/27(木) 01:37:41ID:MHLp6DNM0
ロックのループにはまった時はスレキーとかに使うUNIX時間なんかを
新たに取り直した方がよくね?
でもスレ立て処理は排他ロックさせずに複数同時進行してそうだし、
ロックのループが1秒待ちでもなさそうだから関係ない話か。
新たに取り直した方がよくね?
でもスレ立て処理は排他ロックさせずに複数同時進行してそうだし、
ロックのループが1秒待ちでもなさそうだから関係ない話か。
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 【🍙】貧しくなるニッポン…先進国ダントツ エンゲル係数 43年ぶり高い水準 ★2 [煮卵★]
- 【サッカー】佐野海舟が「いい人すぎる」 能登半島地震に100万円寄付「復興が進んでいないと…」 [冬月記者★]
- 道路陥没事故、原因は“技術者をないがしろにしたツケ”か 日本に必要な政策は「工業高校の設備科を増やすこと」 ★3 [お断り★]
- 今田耕司、アップルウォッチが「一番便利」「買い物できる、電車乗れる…」高級時計は「時間しか見られへん。何百万払うても」 [muffin★]
- 【芸能】『統合失調症』公表のハウス加賀谷 参加費3000円納得できず前日にイベント参加キャンセル 「無料で行われると思っていた」 [冬月記者★]
- 日本はすでに2023年時点で対米直接投資は7832億ドル(約118兆円)で世界トップだった、石破氏はこれを1兆ドルに乗せるため入念準備 [お断り★]
- 【技術立国】なぜ、日本で自動運転がいまいち進展しないのか?半導体と同じくらいにカネ突っ込むべきじゃないの?安倍 [219241683]
- 【トラ茂】トランプ、緊急来日へ!石破の要請受け入れ [219241683]
- うんちブリブリブリトー🌯🏡
- 【 回答秒数は】週末夜のクイズスレ【自分で決めろ!】
- 中国で大人気アニメMyGOの声優、台湾国旗をツイートして中国父さんブチギレ [175344491]
- 高校無償化や給食無償化は「高校税金化」「給食税金化」と呼べ [326327378]