X



bbs.cgi再開発プロジェクト5

レス数が950を超えています。1000を超えると書き込みができなくなります。
04/12/20 07:38:07ID:KYFJjC4V
peko鯖の稼動によりボトルネックの一つである事がより明らかになった
bbs.cgi作り直しプロジェクトです。

【開発環境の工事現場】
また挑戦。@2ch掲示板  http://dso.2ch.net/myanmar/
また挑戦2。@2ch掲示板 http://dso.2ch.net/yangon/

関連スレなどは >>2-5 くらい
2005/04/02(土) 13:29:26ID:Yr9H18/b0
あ、そなのか♪
2005/04/02(土) 13:29:30ID:3Li1OIZq0
>>872
ひろゆきの言いたい事は、ソースを隠すことには
セキュリティの観点から見てそれなりの利点がある、ということでしょ
2005/04/02(土) 13:30:07ID:fFhRAxc50
そんなことよりおまいら、mozillaのソースコードが流出したらしいですよ。

ttp://www.hyuki.com/tf/?20040401145329
2005/04/02(土) 13:30:19ID:0v055weI0
HTTPサーバの動きとかCGIの起動原理とかまでひっくるめてまで隠せるんならな。
2005/04/02(土) 13:30:33ID:3Li1OIZq0
何自分にレスしてるんだろう。。。
878ひろゆき@どうやら管理人 ★
垢版 |
NGNG
1「ソース隠すことはセキュリティ対策になることもある」
2「ソースオープンにすることはセキュリティ対策になることもある」

んで、まだ動いてないシステムであれば、2の可能性はありますが、
既に動いてるシステムであると1の可能性が高いのですな。

オープンしたとたんにソースを見なければわからない脆弱性で
いきなり攻撃される可能性もあるわけです。

2005/04/02(土) 13:33:55ID:SO0VkQYZ0
これは、つまり公開しないってことですよね。
それはそうと、書き込み時間の取得のタイミングを変更する
ことは無いですかね?あまり実益が無いですけど、書き込み時刻と
スレ番号がずれることがなくなると思うのですが。
NGNG
みんなbbs.cgiのソース見たいだけだよ。何に使うのかは知らんが。
881ひろゆき@どうやら管理人 ★
垢版 |
NGNG
実益のないことにリソースを使ってもしょうがないような、、、
2005/04/02(土) 13:36:29ID:0v055weI0
漏れが言いたいのはセキュリティ対策に「万全」「完璧」など存在しないということ。
永遠に努力を強いられる過酷な問題です。

ここの場合、ソース隠してもCGI仕様に則ってるので少なくともインタフェース仕様は公開されているも同然。インターフェースのみ分かっているブラックボックスのセキュリティホールをどうやって見つけられるかというとこに焦点が集まる。
883ひろゆき@どうやら管理人 ★
垢版 |
NGNG
永遠に見つからないセキュリティホールはセキュリティホールではない。
2005/04/02(土) 13:39:24ID:Yr9H18/b0
永遠に出てきちゃうから楽しいんだよね♪
2005/04/02(土) 13:40:25ID:0v055weI0
永遠に見つからない保証はないよ?

で、話戻すとインターフェースのみ分かってるブラックボックスの突付き方はまずいろんなアクセスを試みること。なので次にやらなければいけないのは外部からのアクセスの監査になります。それはやってるのかな?
2005/04/02(土) 13:41:18ID:3Li1OIZq0
>>882
ソース隠せば、2ちゃんのセキュリティホールをわざわざ解析してまで
攻撃しよう、と思うハッカーが少なくなるんじゃないか、ということではないでしょうか

まあ、2ちゃんがどの程度セキュリティ対策を重視しているのか
甚だ疑問ですけどね。そんなに大事なら、サーバ別負荷の統計とか
狐さんの実験とか、全部やめさせてしまえばいい。もっと安全になりますよwww
2005/04/02(土) 13:44:46ID:SO0VkQYZ0
>>881
確かにそうですね。遊べるし、困っているわけでも無いですし。
こんなことが出来て面白いので。
2005/04/02(土) 13:47:23ID:91CxJlkm0
>>878
アバウトなアーキテクチャぐらいは公表してもいいかと思います。

ログ記録部分とか秘密にしなければならない部分は非公開が鉄則です。

まあそれでも見せたくなければNDAでも結んで見てもらうっていう手もありますがね
某有名RMSが激しく抗議しそうですがw
2005/04/02(土) 13:52:51ID:0v055weI0
もともとセキュリティ対策ってのは実益が無いのに注力しないといけない類の活動ですよ。
890ひろゆき@どうやら管理人 ★
垢版 |
NGNG
アーキテクチャは公表してもいいんじゃないですか?
ただ、ソースを読める人がアーキテクチャをいちいち書くのを
嫌がらなければの話ですが、、、

RMSってなんですか?
2005/04/02(土) 13:56:11ID:91CxJlkm0
>>890
RMS=個人名イニシャルです。むむむさんあたりなら確実にぴんと来るでしょう。

>ただ、ソースを読める人がアーキテクチャをいちいち書くのを
>嫌がらなければの話ですが、、、

そんなにむずかしいことじゃないはずですよ。

整形する
datにかく

なんてことをかいていけばいいので。
892FOX ★
垢版 |
2005/04/02(土) 14:05:35ID:???0
アーキテクチャって bbs.cgi でいうと何ですか?
2005/04/02(土) 14:06:22ID:SO0VkQYZ0
そうそう、時間のことは結局下記のようなことです。
だからどうしたと言われたらおしまいなのですが。
とりあえず、故意に時間がずらせると言うことだけです。

http://qb5.2ch.net/test/read.cgi/operate/1111551639/749-751
2005/04/02(土) 14:06:33ID:0v055weI0
アーキテクチャはいきあたりばったりでソース主導で書いたと吐露されても困るな。w
2005/04/02(土) 14:15:20ID:pMcvTIuz0
ストールマンのことか!
2005/04/02(土) 14:15:49ID:91CxJlkm0
>>892
どーゆー手順で処理しているか、ということです

アルゴリズムといったほうが正しかったかもしれない。
897FOX ★
垢版 |
2005/04/02(土) 14:16:50ID:???0
それは既に流出しているような
それも何回も、

それ以来変わっていません。
898FOX ★
垢版 |
2005/04/02(土) 14:20:43ID:???0
再度書いて見ました


2ちゃんねる bbs.cgi アーキテクチャ

1) 始まり

2) 各種パラメータ取得

3) パラメータチェック(この処理超巨大) → byebye

4) dat書き込み

5) index.html subject.txt subback.html 更新
899ひろゆき@どうやら管理人 ★
垢版 |
NGNG
>>893
おぉ、どうやるんですか?
900動け動けウゴウゴ2ちゃんねる
垢版 |
2005/04/02(土) 14:25:24ID:eTnuj2dr0
各鯖ごとの/dev/random先頭16byteを公開して下さいお願い
NGNG
>>900
それ公開したら、書き込む前にID分かるようになるんだっけ?
902動け動けウゴウゴ2ちゃんねる
垢版 |
NGNG
っていうかIDの算出方法そのものも教えて下さい><
2005/04/02(土) 14:27:57ID:pMcvTIuz0
>>900
そこはだめよん 見ちゃ駄目えっちぃ
904動け動けウゴウゴ2ちゃんねる
垢版 |
2005/04/02(土) 14:31:26ID:Ocdke76A0
ついでに彼女の作り方も教えてください
905FOX ★
垢版 |
2005/04/02(土) 14:32:25ID:???0
>>902
そんなの公開されてるでしょ
というかスレ上で公開でみんなでわいわいやったんだから
2005/04/02(土) 14:33:25ID:pNLZJZ+30
>>904
ヒント:http://ex10.2ch.net/news4vip/
2005/04/02(土) 14:33:35ID:SO0VkQYZ0
>>899
故意と言っても数分程度しかずらすことは出来ないのですが、先ほどの内容で説明しますと・・・

まず、サーバに接続して、HTTPのヘッダ情報を送ります↓

POST /test/bbs.cgi HTTP/1.0
Host: qb5.2ch.net
Content-length: 129
Referer: http://qb5.2ch.net/operate/
User-Agent: Monazilla/1.00
Cookie: PON=****.***.co.jp; expires=Friday, 01-Jan-2010 00:00:00 GMT; path=/
Connection: close


↑ここまで送ると書き込み時間が決定します。
その後、↓の内容を時間をかけて送信すると、その時間差が生じて書き込まれてしまう。

bbs=operate&key=1111551639&time=1104688508&submit=%8f%91%82%ab%8d%9e%82%de&FROM=&mail=sage&MESSAGE=%82%b1%82%f1%82%c8%8a%b4%82%b6

ただ、↑の情報を送信している間に誰かが書きこまないと、時間がずれているか分からないです。
とりあえず、これだけのことなんですが。
908動け動けウゴウゴ2ちゃんねる
垢版 |
2005/04/02(土) 14:33:51ID:iH9/6ZL10
ひろゆきおすすめのエロゲ
909ひろゆき@どうやら管理人 ★
垢版 |
NGNG
コネクションを引っ張るんですかぁ。
910桶屋
垢版 |
2005/04/02(土) 14:36:22ID:0teWHclu0
>>907
低速回線環境(PHSなど)と高速回線環境(FTTHなど)が混じったときの
タイムマシーン現象に似せているわけですね。
少なくともこの現象は、もう何年も前からありました。
911桶屋
垢版 |
2005/04/02(土) 14:38:10ID:0teWHclu0
TCPのパケットを故意に分割して、タイムアウトするまで引っ張るという感じですね。
2005/04/02(土) 14:42:57ID:SO0VkQYZ0
>>909-911
そうです。ただ、これによって著しく不利益が生じるわけではないと
思うので、特に問題ではないですよね。

実際、この方法でコネクションを引っ張り過ぎるとエラーで
切断/書き込まれないようなので最高でも数十分?くらいかな。
913root▲ ★
垢版 |
2005/04/02(土) 14:53:05ID:???0
コネクション引っ張る(= 受付嬢を占有する)のはサーバにとっては、コスト高いですね。
だって、受付の人数って決まっているし。

遅い携帯が受付を占領してhttpdがまずしくなるのと、おなじりくつかと。

というかそうか、こういう場合に遠慮なく切っちゃうようにタイムアウト入れるのは、
効果あるのか。
914動け動けウゴウゴ2ちゃんねる
垢版 |
2005/04/02(土) 14:53:54ID:eTnuj2dr0
>>913
今からやって遊ぼうと思ってたのに
NGNG
切っちゃっていいんじゃないですか?
数十分も引っ張って迷惑するのは投票所w
916root▲ ★
垢版 |
NGNG
ちなみに、携帯系サーバは既にTimeout 5にしてあります。
相当効果あったと、記憶しています。

#
# Timeout: The number of seconds before receives and sends time out.
#
#Timeout 300
Timeout 5
917桶屋
垢版 |
2005/04/02(土) 14:58:03ID:0teWHclu0
(知っている人は気付いていたのだろうけど)この方法が公になったので、
同じ事を利用してリソースを食いつぶそうという愉快犯が出てくるかもしれない。

タイムアウトを設定する手段は準備しておいた方がいいと思われます。
918桶屋
垢版 |
2005/04/02(土) 14:59:30ID:0teWHclu0
失礼。いつでもコーイということでしたか。(;^ ^
919root▲ ★
垢版 |
NGNG
>>917
まぁ、ステータスログは逐次的にとっているので、
問題になるようなら、ぼちぼち >>916 を掲示板サーバにも入れるってことで。
2005/04/02(土) 15:02:57ID:3Li1OIZq0
重くなると十分単位で書き込みがずれたり
入れ替わったりするですね
921動け動けウゴウゴ2ちゃんねる
垢版 |
2005/04/02(土) 15:32:23ID:eTnuj2dr0
テスト
2005/04/02(土) 18:33:01ID:QzKCtFzJ0
自作PC板の日付表示、ず〜っと、あのままですか?
いゃ、自分はアムダーなんで今のままで良いんですけどね。
2005/04/02(土) 21:20:35ID:tusx0sm10
>>917
時間ずらしは前にもテストスレで(◆MIPS.kHN86さんが?)実験してたから
知っている人は多そう。(少なくとも、自分はそれを見て気付いた。)
2005/04/02(土) 22:06:27ID:SO0VkQYZ0
>>923
2週間くらい前のでしたらきっと自分です。テストスレで試していました。
実況では時間がずれることはよくあるので、この現象自体は皆さん
知っていると思います。
しかし、実際のところ、これには少し準備が必要なわりに反応が鈍いせいか
やってる人を見たことないですね。
NGNG
sage
2005/04/04(月) 22:26:14ID:M3OteeGL0
低負荷時にindex更新頻度を上げるってのはできないんだろうか?
NGNG
ってゆうか、
「3分以上古かったらindex更新」とかにしたら?
index生成って結構処理おっきいと思うんだけど。
NGNG
index作成はbbs.cgiから切り離して、index作成cgiをcronで動かす。
2005/04/05(火) 00:21:52ID:oilIE2a90
cronでもコストが大きいからdaemonにしちゃうとか。
タイマとキューを使って細かく制御できればベター
2005/04/07(木) 11:15:48ID:lCPZLnn30
index と subject.txt はどう違うのでしょうか?
2005/04/07(木) 13:53:31ID:KD+yhJ8u0
>>930
http://qb5.2ch.net/operate/index.html
http://qb5.2ch.net/operate/subject.txt
みたままですけど。
2005/04/07(木) 18:06:21ID:wAvc+1hz0
>>898

2) 各種パラメータ取得

3) パラメータチェック(この処理超巨大) → byebye

これを順番を適切にするだけでかなり違うような希ガス

・軽くて重要なチェック(たとえばBBQ)を前に
・重くてあまりはねる確率の少ないものを真ん中に
・統計用を最後に

といったかんじで。
で、ぜんぶOKになってはじめてdatをひらく、と(もっともこれは既にやっていると思いますが)。
NGNG
1) 適切ってのが具体的にわからない。
2) わかったとしても、順番を並び替えるとたぶん動かないだろう。。。

という二重苦だったりします

BASIC (80年代初頭) で組んであると思ってください。
NGNG
BASIC......ですか、なにもかもなつかしい。
2005/04/07(木) 19:00:07ID:Ji76zELC0
ベーマガ
2005/04/07(木) 19:17:44ID:iL5f+QSR0
1から書き直した方が早かったりするんだろうな
937動け動けウゴウゴ2ちゃんねる
垢版 |
2005/04/08(金) 04:15:58ID:osk4Ld7X0
Fortran77
C(78年)
ADA(79年)
2005/04/08(金) 04:27:25ID:pGOw/V+90
Gmen 75
Carmen 77
NGNG
Konnichiwa 70
940動け動けウゴウゴ2ちゃんねる
垢版 |
2005/04/08(金) 04:35:04ID:w82M2zah0
FOX★風邪治った?
NGNG
歌いまくったら
また喉が・・・
2005/04/08(金) 04:39:35ID:hyNjrlD30
>>939
三波春夫ですかー!
943動け動けウゴウゴ2ちゃんねる
垢版 |
2005/04/08(金) 04:41:07ID:w82M2zah0
じゃあプロフ直しておけよw

2005/04/08(金) 11:12:51ID:kewcw1IJ0
>>940
やべ、「風俗治った」に見えた。
2005/04/08(金) 12:01:14ID:TtyT++Tv0
彼の風俗は直りません。。。
946930
垢版 |
2005/04/08(金) 13:22:31ID:a0Y6OuW80
>>931

subject.txt は、更新順(sage考慮)に並べてある。
index.html はその上位 10 個を HTML 化した、トップのページと。

bbs.cgi は Perl で書かれている。

こんなところであっていますか?
NGNG
全部白紙に戻すような話だけど、
xmlで全掲示板を構成すれば、鯖の負担も少ないし(2ch程度の大規模サーバーだからの話ですが・・・)、容量も負担しない。
上手くいけば、今のdatの3/4の容量削減が出来ると思われ。
read.cgiの再開発プロジェクトの住民に悪いが、read.cgiもいらなくなる。
WebProg板とWeb製作板の住民に協力を依頼すれば、たくさんの住民が食いついてくるし・・・
ひろゆき・root両氏の降臨キボンヌ
>946多分あってる。
2005/04/08(金) 17:46:04ID:AQwRoo140
その論理はちょっとおかしい気が
xmldb(?)で〜
ならまだわかるけど
2005/04/08(金) 17:51:04ID:+8zeIhpi0
高度なネタですね
NGNG
まぁdatや、subject.txtにある、<>が必要なくなるのでw
subject.txtのsubject.csvに変えて<>→,にすれば無問題。
>949氏等へ
専門的な話をしてスマソ。

root氏やFOX氏なら直ぐに話が分かるような気がしますが・・・
とりあえず、管理団の回答を待ってます。
2005/04/08(金) 18:57:32ID:Zqzne5VM0
ひろゆきが理解できなくて没な悪寒
NGNG
>951
ひろゆき氏になんとか説得してみますよ。
2005/04/08(金) 19:30:35ID:AQwRoo140
<dat>
  <res name="動け動けウゴウゴ2ちゃんねる" mail="sage" date="2005/04/08(金) 17:46:04 ID:AQwRoo140">
    その論理はちょっとおかしい気が &lt;br&gt; xmldb(?)で〜 &lt;br&gt; ならまだわかるけど
  </res>
  
<res name="動け動けウゴウゴ2ちゃんねる" mail="sage" date="2005/04/08(金) 17:51:04 ID:+8zeIhpi0">
    高度なネタですね
  </res>

</dat>
954讃岐 ◆IamaVIPdCI
垢版 |
2005/04/08(金) 19:33:01ID:w82M2zah0
>>952
がんばれ
2005/04/08(金) 19:40:35ID:HW4goVuA0
>953そんなかんじで
修正を加えると
<log>
<res num="948" name="動け動けウゴウゴ2ちゃんねる" mail="sage" date="2005/04/08(金)" time="17:46:04" ID="AQwRoo140">
その論理はちょっとおかしい気が <br> xmldb(?)で〜 <br> ならまだわかるけど
</res>

<res num="949" name="動け動けウゴウゴ2ちゃんねる" mail="sage" date="2005/04/08(金)" time="17:51:04" ID="+8zeIhpi0">
高度なネタですね
</res>

</dat>
相談:このような場合、レスアンカーはどのようにすれば 指定したレスに飛ぶんでしょうかね?/スレ番.xml?num="レスNo."でOKでしょうか?
>954あり
言い忘れたけど、HTML化も不要だな。
HTML同然だし。
2005/04/08(金) 19:41:12ID:HW4goVuA0
スマソ修正
</dat>→</log>
957root▲ ★
垢版 |
NGNG
XMLは、いろいろなところで流行りだったりして、
各種フォーマットをそれにするというのは、センスとしてはむろんありえます。

で、もし2ちゃんねるのようなものを一から作るとしたら、
XMLベースでいくというのはかなりありえますが、
既に動いている2ちゃんねるに導入するからには、
「作るに足る大きなメリット」言い換えれば「XML化によって見える果実」が
必要な気がします。

後ろにDBを置きやすいとか、標準形式だからブラウザ作ったりする人が対応しやすいとか、
将来の拡張が容易とか、そのへんのもの*以外*に、何かあるといいかもです。

より、実利的な何かがいいかも。
例えば、10倍負荷に強くなるとか、かける工数に対してメリットが目に見える形で存在するなら、
その気にさせる動機になるかもです。

ここの掲示板は「非互換な形にいきなり内部形式を変える」ことには、かなり軽く動くところがあるので、
果実が甘くておいしいなら「いきなりバサっと導入」は、常にありえるかと。
2005/04/08(金) 19:56:41ID:OO38/7ip0
大幅な仕様変更で専ブラ使えなくなったら困るぞ
2005/04/08(金) 20:11:29ID:Zqzne5VM0
メリット無くてもデメリットさえあってもひろゆきがやるといったらやる悪寒
960讃岐 ◆IamaVIPdCI
垢版 |
2005/04/08(金) 20:21:54ID:w82M2zah0
html同然ってことは●の販売数落ちるかな?
NGNG
常に全レス読み込みか、
2005/04/08(金) 21:10:37ID:AQwRoo140
そうか、Ajaxか…。だがしかし、、、
2005/04/08(金) 21:24:59ID:T5JbhzTr0
>>961
転送量を考えれば XML にしたって
read.cgi かなんかでの行数制限読み込みは必要だろう
2005/04/08(金) 22:58:20ID:WaiFUNZP0
2ちゃんの負荷分散は専ブラによるところが多い。
現在はIEや携帯の負荷を分散させる作戦中。
100%htmlベースの通常の掲示板というのはシステムの増強なしには無理でしょう。
有料化など収益があれば別ですけど。
2005/04/08(金) 23:30:02ID:OLl7UjV20
「bbs.cgiスレでXML化を言い出す奴=Java屋の会社に入った新入社員」
「bbs.cgiスレでMySQL化を言い出す奴=オープンソースWebASPを聞きかじった新入社員」
2005/04/08(金) 23:38:56ID:Ipg27SqJ0
XML化してもハードウエアには優しいかも知れんけど、トラフィック的にはそうでも無いんじゃないの?
967動け動けウゴウゴ2ちゃんねる
垢版 |
2005/04/08(金) 23:51:03ID:YS6rh79X0
XMLの構文解析処理って結構重いんじゃないの?
2005/04/09(土) 01:49:25ID:CXyVIsIc0
libxml2をincludeしてソース書いたことあるか?
2005/04/09(土) 02:06:28ID:UcGzyk1Y0
parser自体まともじゃないのもあるけどな
2005/04/09(土) 04:25:16ID:sHSGqgHa0
>>955
ちょっと要領を得ないのだけど、XML化したとして、そのparseはクライアント側が
やるんでしょうか?XMLをブラウザに丸投げしてブラウザが解釈?
だとするとクライアントの互換性が問題になってくると思う。

サーバーがparseするんであれば、その負荷が馬鹿にならないと思うし、
(Parser作ったことある人なら分かると思うけど、複雑な構文を殻に使った
入れ子のparserってかなり負荷大きい)結局read.cgiがベタデータをparseするのと
何も変わらんので、むしろ負荷は大きくなると思う。

あと、datの容量が減るというのが良く分からないのはどうして?
>>953の形式の方がディスクのリソース食いそうだけど。

ちとXMLについてはほとんど無知なのでおかしな事言ってたらスマソ。
971ひろゆき@どうやら管理人 ★
垢版 |
NGNG
>>965
同意。
2005/04/09(土) 06:00:38ID:ngy7/MVn0
>>950
ネタじゃなくてマジだったのかよw。レスついてるしネタにしとけばいいのに
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況