319 名前:BG ★[sage] 投稿日:03/05/16 15:38 ID:??? まずは基本思想からだから この板に別スレッドでのんびり話し合って行くっていうところでしょうか、 1) 基本思想 2) 基本設計 3) 詳細な設計 → モジュール別にコード書き (ここでさまざまな方法が試される、連投規制とか) 4) 組み上げ 5) テストー ってな流れになるのでしょうか。
315 名前:BG ★[sage] 投稿日:03/05/16 14:37 ID:??? んじゃ案を 案 ver0.001 main() { SETTING.TXT 読み込み(); 規制関連(); datに追記(); subject.txt更新(); /*subback.html更新();*/ } まずはこんな感じに、bbs.cgiの処理に関する案を出して頂きたいです。 または、それに関するコメントなどもお願いします。
記念。どんどん増えるプロジェクト(以下略。
二兎を…(以下自粛
8 :
BG ★ :03/05/16 16:57 ID:???
虻蜂・・・(以下自粛
ぐぅ、即レスが飛んできてる。 水を差して、正直スマンかった。
しかし優先順位は決めておいたほうがいいかも。
下手な鉄砲数打ちゃ(ry
12 :
名無しさん@お腹いっぱい。 :03/05/16 17:20 ID:hblgnuqO
優先順位とは、他のプロジェクトとの比較で? 被るのはread.cgiプロジェクトぐらいかな。
13 :
名無しさん :03/05/16 18:11 ID:2kRCvp25
優先順位?何の?誰の? サーバ構築が好きな人はサーバスレ行けば良いし、 read.cgiが好きな人はread.cgiスレ行けば良いし、 bbs.cgiが好きな人はここで開発してれば良いし。 やりたい人がやりたい事をやれる範囲でやるだけじゃん。 全部やれなんて誰も言ってないでしょ。
開発言語はCなんですか?Perlじゃなくていいの?
どうやらさんが弄れなくなっても大丈夫?
(・3・) エェー ぴろゆきってC読めるNO〜?
17 :
BG ★ :03/05/16 18:30 ID:???
携帯関連で書けない人とか、どうやらさんに救済してもらった(最近だと味ぽん)こと考えると、 一携帯ユーザとして、どうやらさんがいじれなくなるのは痛いですな。
>>13 bbs.cgi内で何を優先するかじゃないか?
で、神のbbs.cgiの作者はどこ行った…?
20 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 20:30 ID:???
bbs.cgiの負荷ってI/Oがほとんどだから、 Cだろうとperlだろうと対してパフォーマンスは変わらない気がしてるおいら、、 アルゴリズム自体が変わるのであれば、劇的に変わるかもしれませんが、、、
21 :
名無しさん@お腹いっぱい。 :03/05/16 20:33 ID:hcNyHENO
最近ひろゆきを見かけないな
22 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 20:35 ID:???
志村うしろー。
23 :
名無しさん@お腹いっぱい。 :03/05/16 20:36 ID:hcNyHENO
>19 現行バージョンを作った人はつい最近引退しました
ではI/Oに関して、何を残して、何を除外するかと言うのが最初の課題でしょうか。 1) SETTING.TXT (R) 2) プロ串等の規制。 (R) 3) xxxxxxx.dat 読み込み (R) 4) xxxxxxx.dat 追記 (W) 5) log/xxxxxxxx.dat にも追記 (W) 6) subject.txt 読み込み (R) 7) subject.txt 書き出し (W) (tmp作ってrename unlink かも知れない) 8) subback.html 読み込み (R) 9) subback.html 書き出し (W) 10) i/index.html 更新 (W) 11) index.html 更新 (W) 12) xxxxxxx.html 読み込み (R) 13) xxxxxxx.html 書き出し (W)
25 :
BG ★ :03/05/16 20:42 ID:???
>>20 1) I/O
2) リモホ look up
3) 正規表現をつかっての比較しまくり
が主要負荷(処理?)かと。
26 :
名無しさん@お腹いっぱい。 :03/05/16 20:45 ID:hcNyHENO
>22 Σ(゚Д゚;≡;゚д゚) 本人に突っ込まれてしまったここほんとに2chなんだろうかw
27 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 20:49 ID:???
アクセス規制系がでかいんですよね。 >2) リモホ look up >3) 正規表現をつかっての比較しまくり アクセス規制を別サーバにするってのを考えていたりします。 ポートチェックがしなくてすむように、、
/html って必要なんでしょうか? index.html を読み込んで再利用すれば、かなりHDヘッドシークも減ると思うんですが。 ついでに、head.txt とか広告関係も再利用できるのでファイルアクセス回数は減ると思います。
>>20 Perlだと、最初の起動コストがでかいすね。
特に連想配列とか使ってると。起動してしまえば軽いですが。
あと、system() や ` ` でのプロセス起動はコストが大きいので、
できるだけ使用を控える方向がいいかも。
できるだけライブラリ使うか、どうしてもプロセス起動が必要な時もsystem()は
使わないようにする方向で。
>>22 lookupはDNSがうまく動けば(って私かぁ)それなりになんとかなるか。
比較しまくりは、比較(マッチング)アルゴリズムを工夫するとか、
>>27 みたいに
別サーバを立てるとか、でかいテーブルがあるならリニアサーチじゃなくて
ハッシュしてみるとかか。
# 今午後2時前。ちょっとお疲れモード。
30 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 20:56 ID:???
31 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 20:58 ID:???
proxy制限のマッチングが、ひたすらリニアにやってるんで、 そこらへんのマッチングのアルゴリズムをperlでやってる例とかあればいいんですが、、、
(・3・) エェー ひとつ知りたいんでつが、書き込みが集中すると bbs.cgi のプロセスが 同時にいくつも起動されている状態になるんでしょうかNE?
33 :
BG ★ :03/05/16 21:06 ID:???
top で見ていると bbs.cgi が数十(100は行っていないかな)見えます。 同様に read.cgi , r.i も沢山起動されています。 #以上 live5 サーバ内からお送りいたしました。
>各スレッドの書きこみ10個分のテーブルが これとほぼ同じ物が、index.html内に有ると思うんですけど index.htmlを丸ごと読み込むので、メモリ効率は悪くなるんですけどね。。。
35 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 21:12 ID:???
index.htmlは読みこまないですよ。。。 index.htmlをつくるために、各スレッドの書きこみ10個分のテーブルをくっつけてるわけです。
37 :
名無しさん@お腹いっぱい。 :03/05/16 21:17 ID:vuLVezHu
運営板のindex.htmlには20個のスレが表示されてるけど **********.htmlを20個読み出して作ってるの?
38 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 21:21 ID:???
>でかいテーブルを上からなめてるってことすか。
そですー。
DBを使うとサーバに依存しそうなので、
出来ればさけたかったんですが、
DB_Fileだとperl5がインストールしてあれば、
必ずあるんですか?
>>37 そです。
>>34 index.html内のものは、
BBS_THREAD_NUMBERで設定されている個数分のテーブルしかないですよね?
下のほうのスレが上がったときは、datからBBS_CONTENTS_NUMBER分のテーブルを作って、
一番古いテーブル削除→新しいテーブル追加
という風にすると?
説明がへたくそでごめん(´・ω・`) index.html 内にある各スレッドの表示部分をそのまま使えばいいんじゃないかと /html は使わずに、代わりにindex.htmlを使う。 うまく説明できない。・゚・(ノД`)・゚・。
41 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 21:27 ID:???
テーブルは削除してないです。
毎回、呼ばれるdatに対応したhtmlがよばれてはっつけられてます。
>>39 index.htmlは時々ぶっ壊れるんですが、
書きこみをすれば直るという方法で、
ほとんどのユーザーは気づいてないんです。
なので、index.htmlは参照するにはちょっと安定性にかけてたり、、、
>>39 そうです〜
書き込みスレッド以外は、変化しないわけですか。
#難しいな説明するのって(´・ω・`)
43 :
名無しさん@お腹いっぱい。 :03/05/16 21:30 ID:vuLVezHu
>>41 そうなんですよね、
一度壊れてしまうと、修正が自動に聞かないところが大変なんですよね…
>毎回、呼ばれるdatに対応したhtmlがよばれてはっつけられてます。
となると、BBS_THREAD_NUMBERが100とかの板で、回転が速いと、
物凄いI/Oになってますね。
例えば、sageのレスがされたときは、
**********.htmlを更新しないとかは付け焼刃でしょうか。
>44 ああ、これじゃだめですね。
index.htmlが壊れた時は、</html>が消えるので検知できるとおもうです
その時は現状と同じように作り直せば?、、、ってだめかな(;・∀・)
>>43 ですね近いです。
>>38 もちろん、システム側にBerkeley DBが入ってることが条件すね。
最近のLinuxディストリビューションならあるでしょう。
もちろんBerkeleyっていうぐらいで、*BSDなら必ず入ってる。
% perldoc DB_File
ってやってマニュアルが出力されれば、少なくともモジュールは入ってますね。
48 :
BG ★ :03/05/16 21:39 ID:???
perldoc DB_File DB_File(3) User Contributed Perl Documentation DB_File(3) NAME DB_File - Perl5 access to Berkeley DB version 1.x SYNOPSIS use DB_File; [$X =] tie %hash, 'DB_File', [$filename, $flags, $mode, $DB_HASH] ; [$X =] tie %hash, 'DB_File', $filename, $flags, $mode, $DB_BTREE ;
49 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 21:41 ID:???
sageであっても、index.htmlに表示されてるので、
*.htmlは更新の必要があります。
そのかわり、sageの場合はsubject.txtは更新してませんが、、
>>44 index.htmlを.htmlなしで再構成すると、
10個のdatを全部読みこんで構成しなおすので、壊れる頻度によると思います。
*.htmlの仕組みだと、読みこみの回数は増えますが、
index.htmlよりも読む量も処理量も少なくてすみます。
index.htmlを読みこんで、解析するよりも、
はっつけるだけのほうが処理量は少ないわけで、、
www.2chとかふるいのにもDB_Fileは入ってました。
いけそうな予感。。
sageでもレス数があるからsubject.txt更新してない?。。
なんでどうやらさんが真面目なこと言ってるんだ?
>>48 >>49 こんなサンプルプログラムがエラーなく動けば、たぶんいけるでしょう。
以下、
http://www.itssg.ox.ac.uk/conference/2001/presentations/perl-itssg.html から抜粋。
--- cut ---
#! /usr/local/bin/perl
use DB_File;
$db = '/tmp/userstats.db'; # where data is kept between runs
tie(%db, 'DB_File', $db) or die "Can't open DB_File $db : $!\n";
if (@ARGV) {
if ("@ARGV" eq "ALL") {
@ARGV = sort keys %db;
}
foreach $user (@ARGV) {
print "$user\t$db{$user}\n";
}
} else {
@who = `who`; # run who(1)
if ($?) {
die "Couldn't run who: $?\n"; # exited abnormally
}
# extract username (first thing on the line) and update
foreach $line (@who) {
$line =~ /^(\S+)/;
die "Bad line from who: $line\n" unless $1;
$db{$1}++;
}
}
untie %db;
54 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 21:51 ID:???
昔はsageの場合は無視してたんですが、 最近は更新してるかも、、、というかここらへんは 誰がさわってたのかもよくわかってなかったり。
>>49 丁寧な解説ありがとうございます。
実は /html は現在使わせて頂いているので、
廃止になるとちょっと困った所だったんです。
ところで、*********.htmlは、追記で処理されていますか?
それともdatから作り直していますか?
以前bbs.cgiでhtmlを生成して、read.cgiの負担を減らすという試みがあったような気がしまして、
それなら、スレッド全体をhtml化というのも考えられなくはないかと…
57 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 21:56 ID:???
datの書きなおしがあったときに、 .htmlはつくりなおしてます。 じつは、sports2で、read.cgiをつかわないで、 全部html表示にしちゃうという実験をしようかと思ってたりしてるんですが、 面倒なのでそのまんまになってます。。。
58 :
サザン ◆IDaU21y6wI :03/05/16 21:57 ID:SinMu5EZ
59 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 21:57 ID:???
んじゃ、つくってください。。。>サザンさん
ふむ。。。 書き込みがあったスレッドの吐き出し部分をdatからhtmlにするのか。 やってみていい?(おいらのスクリプトでだけど。
61 :
サザン ◆IDaU21y6wI :03/05/16 21:59 ID:SinMu5EZ
お、そんなこと言われると本気になったり。。
実際のプログラミングは、たぶん
>>60-61 の方々がサポートしたほうがよさそうすね。
私は「こんなモジュール使えばいいんじゃないの」とか
「こんなふうにすれば負荷下げられるんじゃないの」って言うのがせいぜい。
64 :
サザン ◆IDaU21y6wI :03/05/16 22:04 ID:SinMu5EZ
>>62 いやいやいや、みなさんで一緒にやりましょーヽ(´ー`)ノ
65 :
BG ★ :03/05/16 22:04 ID:???
結構懐疑的な私。。。
枝葉より思想の議論が先だと思うけど。
>>3 の 3) の話かな、この辺の議論は。
#じじぃがでしゃばってみました。
>>65 じじぃその2も同意すね。
・要求条件と最終目標を明確にして
・実現するためにはどういう形にすればいいのかを考えて
・中身を詰めて
・合体させて
・動かす
っていうのは、やはり王道かと。
67 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 22:10 ID:???
司会ががんばらないと、、、>BGさん
68 :
BG ★ :03/05/16 22:11 ID:???
うっ #歌でも歌いますか。
オープンソースでわいわいやるのがいいかもですねー
>>64 私も微力ながらお手伝いできるかもしれませんし
70 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 22:15 ID:???
個人的には、DBを使わないで、perlで検索をするアルゴリズムを誰かに書いてほしい。。。
71 :
BG ★ :03/05/16 22:19 ID:???
まだ始まったばかりだから、当面わいわいがやがややるとして 現状の把握って言うのもきっと大切だろうから どんどん管理人に聞いて見るのが良いのかな。 わたしも知っているところは答えられると思います。 現状の認識という点では、 live , ex 系を除いては、まぁまぁ資材の投入でカバーできているんだと思います live , ex 系は突然の負荷上昇のある板が集まっています。 ピーク時に合わせて資材の投入はあまりにも無駄なので なんとか別の方法でというのがこれら関連議論がスタートした動機です。
(・3・) エェー 高速処理を要する部分をCで書いて、ライブラリ化しておいて、 それをメインルーチンである Perl から関数としてコールするって事は できるんでしょうかNE?
73 :
名無しさん@お腹いっぱい。 :03/05/16 22:21 ID:PgTNJfeY
>>70 現在のその部分のルーチン、公開できます?
74 :
サザン ◆IDaU21y6wI :03/05/16 22:22 ID:SinMu5EZ
おいらも色々教えてもらったので、答えられる事には答えたいと思いますー、
75 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 22:23 ID:???
>>73 open(PHOST,"<$pxck");
my @PIP = <PHOST>;
close(PHOST);
foreach(@PIP)
{
chomp($_);
if($HOST =~ /$_/i)
{
Error("ERROR!","公開PROXYを使っているかアクセス規制です!!");
}
}
76 :
名無しさん@お腹いっぱい。 :03/05/16 22:23 ID:PgTNJfeY
>>72 に関して、やっぱりperlの方がメンテナンスなどの面で良いですかね?
>>70
77 :
名無しさん@お腹いっぱい。 :03/05/16 22:23 ID:vuLVezHu
while(<串リスト>) { chomp; if(書き込み野郎のホスト eq $_){ print "お前は書き込めネーヨ"; } } これで、ええんじゃないかい。
78 :
BG ★ :03/05/16 22:24 ID:???
>>70 に関連して言えば、
現状、公開プロキシ規制とアクセス禁止を一本でやっているのが
負荷を増大させる原因だと思っています。
なぜなら、すべての投稿の 90%が普通のメジャーな ISP からなんですね、
一度ニュー速で調べてみたんですけど、
すべての投稿について、プロ串規制のテーブルを
なめまわすという動作です。ほとんどの場合やらなくてよい作業をしているですよ。
スキップすべきかと、
79 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 22:24 ID:???
Cで速くなるんなら、それでもいいと思いますー。
open(PHOST,"<$pxck"); foreach(<PHOST>) { chomp($_); $HOST =~ /$_/i and Error("ERROR!","公開PROXYを使っているかアクセス規制です!!"); } close(PHOST); こっちのほうが若干早い…かもしれない。
81 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 22:25 ID:???
どうやってスキップさせるか、、ってのが なかなか難しいわけで、、、
>>77 eq だと、地域限定とかができないから、どうしても /$_/i になってしまうかと思います…
>>81 めぢゃーなISPっぽい名前がホストに入ってたらすきっぷ…
とか?
でも串規制とアクセス規制が一緒なのか…
84 :
BG ★ :03/05/16 22:27 ID:???
「C 読めますカー」と聞いたら 「右」と答えたのは・・・・・
85 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 22:27 ID:???
うーんと、、書き方で微妙に速くなるのはわかるんですが、 foreach(<PHOST>) でリニアにやってる部分を なんらかのソート手段でできるといいなぁ、、と。
>>75 この処理は、ポートチェックをクリアしたホストに適用されているのですか?
87 :
BG ★ :03/05/16 22:27 ID:???
89 :
サザン ◆IDaU21y6wI :03/05/16 22:28 ID:SinMu5EZ
>>84 ワラタ
bg3 が実験板になる予感。。
というかなります。
90 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 22:28 ID:???
>めぢゃーなISPっぽい名前がホストに入ってたらすきっぷ 一応やってたり。。。
>>85 例えば、プロキシリストを、最初の頭文字で別ファイルにしてみるとかどうですか?
92 :
BG ★ :03/05/16 22:29 ID:???
>>86 ポートチェックの方がコスト高いから
ポートチェックはそのあとかと、もう少し条件絞られているはず。
93 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 22:29 ID:???
>>86 ポートチェックはそのあとです。
そこで引っかかれば、ポートチェックしないです。
>>75 ひゃー、単純リニアサーチでexact matchってことかしら。
で、$pxckって今何行ぐらいすか?
ざっくりで100行以上あるようなら、間違いなく DB_File 使ったほうがいいです。
95 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 22:30 ID:???
jpとjp以外で別ファイルにしてますです。>プロキシリスト
96 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 22:31 ID:???
97 :
名無しさん@お腹いっぱい。 :03/05/16 22:31 ID:PgTNJfeY
>90 うーん。。。そうなのか。、
(・3・) エェー ボクはCはわかるけど、Perlは和漢ないんですYO Cで作る部分は、汎用的で、将来に渡って仕様が変わらないと思われる処理部分を作るべきかと。 正規表現のマッチング処理なんかも、Cの方が早ければCで書いたほうが いいかなと思ったんですYO
>>90 現状、そうでもないような気がしたけど、
最新の見てないので、分かりませんが。
ほとんどの書き込みが普通の書き込みだから
本当はなにもしない方が良い。
1) プロ串のリストとのマッチング
2) リモホのルックアップ(ちょっと微妙かな)
3) ポートチェック
わたしゃ 全部Cをたくらんでいたりして、 あわよくばmod_bbs.cgi
とっても簡単にいうと、
>>91 のようなことをシステム内でもっとうまくできるのが、
DB化ってことすね。
あるエントリが、あるでっかい(行単位とかの)ファイル中にあるかどうか探す
(とっても簡単に言ってしまえば、grepコマンドのようなことをする)
なんていう処理は、DB_Fileの最も得意とするところですね。
>>96 わーお。
あー、単純な検索の手法を流用すれば済むかと思ったら、 全部に正規表現でのパターンマッチングを行う必要があるわけですね…。
例えば、以下のようなリストがあるとして、 user.rb.il24.net adsl.ppp.infoweb.ne.jp dion.ne.jp それぞれ、 u.dat user.rb.il24.net a.dat adsl.ppp.infoweb.ne.jp d.dat dion.ne.jp とかに細分化すれば、線形比較の対象が激減すると思う。 あくまでDB使わない計画で。
むしろ管理人には思想的なことを聞いたほうが良いと思うのだが、 1) アクセス規制は今よりももっと増やしても良い。(ISP全体じゃなくてだけど) 2) 投稿内容によって弾くこともより増やしたほうがよい(宣伝URLとか) 3) 公開プロ串規制は、こんなもんだと思っている 4) 1)に関連して、アクセス規制は部隊まで作ってでももう少しやりたい 5) 今年の夏はサーフィンに挑戦したい。
むむむのおっさんはスペインまで行ってこんな事やってるのはいかがなものか。
1) システムメンテナンスは出来るだけ自分でも出来るようにしておきたい 2) やれと言われれば、知らない言語でも習得する 3) 今年の夏はぜひとも月旅行
>>106 こんなへんぴなとこまで、わざわざストーキングごくろうさん。
こんなことも息抜きのうち。
で、息抜きばかりの不良社員はそろそろ会議に戻るとしようか。
どうやらさんはDBに興味をお持ちになったようです。
110 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 22:50 ID:???
>1) アクセス規制は今よりももっと増やしても良い。( アクセス規制を2段階に変えようかと思ってたりして、、、 wellknownホストに関しては、今までどおりで、 .mzとか変なところは、一律禁止にしてアカウント制にするのもありかなぁと。 >2) 投稿内容によって弾くこともより増やしたほうがよい いたちごっこなのでホスト規制を増やして対応予定。 >4) 1)に関連して、アクセス規制は部隊まで作ってでももう少しやりたい そうかも。
ちなみに、ひとコマ出席しなきゃいけない会議があいたのよ(素)。 で、たまったメール処理しながら、たまにのぞいてるのだ。
112 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/16 22:51 ID:???
>1) システムメンテナンスは出来るだけ自分でも出来るようにしておきたい おいらが一切触らなくてもいいなら触りたくない。 >2) やれと言われれば、知らない言語でも習得する 微妙。。 >3) 今年の夏はぜひとも月旅行 まずは、ワイハーからですな。
>>104 んなことしなくても、
あらかじめソートしておいて、二分探査すればいい。
>>113 規制リストがソートしてあっても HOST=aaa.xxx.ne.jpのとき、
xxx.ne.jpを探すのは困難では?
aaa.ne.jp
bbb.ne.jp
xxx.ne.jp
あぼーん
新しいbbs.cgiでも???(ゔぐ〜)出来るようにして欲しいな…。
猛者がいるな
出来なかった…。
>>114 文字列の後ろの方から逆方向にソートすればいいじゃん。
単純一致やIPアドレス一致でいいならbinary searchがベストだと思うけど、 正規表現や部分一致が不可能だからねえ。
ドメインのレベルごとにリストを構築するのは大変でしょうか…? いったん構築してしまえば、あとは追加、削除の繰り返しですし。
>119 なるほど、それは面白いかも。 正規表現は使ってないのかな?使ってなければやれるかも。
リストの内容によっては、perlに面倒なことを押し付けて、 以下のような感じでできないかな? かえって遅くなるかもしれないけど。 open(PHOST,"<$pxck"); my @PIP = <PHOST>; close(PHOST); $INH = '(' . join( ')|(', map {chomp} @PIP ) . ')'; if($HOST =~ /$INH/i) { Error("ERROR!","公開PROXYを使っているかアクセス規制です!!"); }
訂正: $INH = '(' . join( ')|(', map {chomp} @PIP ) . ')'; → $INH = '(' . join( ')|(', map {chomp;$_} @PIP ) . ')';
1)公開PROXY規制(引っかかったら終了) 2)本文規制(広告URLなど:引っかかったら終了) 3)その他特定ホスト等の規制(OPTION) 4)SETTING.TXT(R) 5)xxxxxxxx.dat log/xxxxxxxx.dat subject.txt subback.html index.html i/index.htmlをロック 6)dat追記 7)log/dat追記 8)subject.txt書き直し 9)subback.html書き直し 10)i/index.html書き直し 11)index.html書き直し 12)5のファイルをロック解除 とか無責任に書いてみる。
(・3・) エェー ファイルのロックはOSにまかせてるんじゃないかNAと言ってみるテスト
>>127 複数のプロセスが同時に動いてる時に、ファイルが他のプロセスにより
ロックされてた場合、処理をスキップすることで負荷を低減するという
策なんじゃないかな?
だから、時間のかかる処理に入る前に、書き換える予定のファイルを
まとめてロックしちゃうと。
2ちゃんってこんなふうにじたばたつくってるんだすげー。 ということがわかった記念ぐりこ
>>108 ソーセージでも食いながら頑張って下さい。
私も参加してよろしいですか? 今からLOG読んでいろいろとやってみようと思うんですが。。。
プロキシリストをメモリ内に取り込んじゃえ。
スレ順位がBBS_THREAD_NUMBERの数値より下にあるスレは /bbs/html/**********.html は触らないとか。 pageview.cgiが無い今、下位のスレは必要ないじゃん。
〜数値より下にあるスレのsage書き込みは
規制リストって,ディスク内でいったん一つにまとめてメモリに読み出し, ホスト名の後ろから照合する事は可能でしょうか? 例えば書き込まれたホストがXXXX.aaa.bbb..co.jpだとすると, まず.jpを照合(.jp以外規制)し,ついで.co.jp(これはスルーできれば 良いですが),そして.bbb.co.jp(一括プロバイダ規制など)と言った具合に。 ホスト名の分割でどれくらい負荷が出るかにも寄りますが, 照合の手順が減るようにも思えるのですが…
規制リストが単純に後方一致でいいなら、 一つずつ照合しなくてもいいんだけどな。
電波発信者 → 規制リストチェック鯖 → 該当無し → bbs鯖に接触 ↑ ↓ 「帰れ!!」 ← 限りなく黒
>>137 規制チェック用の鯖だと,かえって負荷が集中して落ちると
思うんすけど。。。
規制リストチェック鯖を二つ用意して分散させるとか・・・ 一つだとやっぱり集中しますしね〜。
なんでDB化しないんだろう。 deny listもレスもDB化しちまえばいいのに。
DB化って何ですか?
データベース
>142 星の入った珠を7つ集めて願いをかなえてもらうこと
>>142 回を重ねるごとに戦闘力が無闇に上がっていくことです。
>>119 文字列の後ろの方から逆順...てのにぐぐっときて...
規制リストの文字列を逆順化
aaa.ne.jp-> pj.en.aaa
bbb.ne.jp-> pj.en.bbb
xxx.ne.jp-> pj.en.xxx
これはPerlなら、
$反転文字列 = reverse $元の文字列;
な感じでできて、こいつを規制リストとしてとっておく。
(二分探索木とか難しいことはだれかおながいしまぁ〜す)
で、
open(PHOST,"<$pxck");
my @PIP = <PHOST>;
close(PHOST);
$HOST = reverse $HOST;
foreach(@PIP)
{
chomp($_);
if($HOST =~ /^$_/;)
{
Error(" ", ...);
}
}
正規表現のマッチを文字列先頭からに限定できるのでだいぶ良くなるはず。
あ゛ if($HOST =~ /^$_/;) は if($HOST =~ /^$_/i) ね
?
処理量のオーダーが変わってないだろ。 申し訳ないが、馬鹿じゃないの?
ごめん、アルコール入ってて言い過ぎた。 普段思ってても書き込まないようなことを書いちゃった。 150は取り消しで…。
ていうか、 >(二分探索木とか難しいことはだれかおながいしまぁ〜す) Bサーチが難しいこととか思ってるような人は黙ってる方が吉。
Bサーチていうな
154 :
名無しさん@お腹いっぱい。 :03/05/18 02:36 ID:2hKGU/PH
155 :
名無しさん@お腹いっぱい。 :03/05/18 04:42 ID:cW0UA6Xf
sourceforge化して開発者あつめるとか・・・
>>155 おもしろそうですね。真剣に軽量化を目指して改良する人もいれば、
真剣に2chに深刻な打撃を与える研究をする人もでてくる(^^;;
>>154 (仮)のスクリプトってrubyでしたっけ?
おもしろいことやってる掲示板だとは思うんですが、
今だに使い方がわからないです、、
とりあえずデータは全部メモリに常駐させとこう。
>>156 おちかれーしょん。
124cが一番早いのか…(まぁ確かにどんぶりの背比べ感も…
ドングリの背比べっつーか、124以外は全部O(N)じゃん。
規制IPリストをメモリ上に保持しておくような Apache モジュール作ってみるかな. まぁ政治的(?)にはモジュール追加するのは難しいんだろうけど......
常にメモリに置いておけるならハッシュが最強だろな。
>>163 そうか? パトラッシュもなかなかだぞ。
>>164 くすくす。なんだか予想通りの発言で笑える。
# さきほど無事帰国しますた。ビジネスにうpできたyo。
>>164 フランダースの犬には後日談があってな。
凍死したネロの死肉を食って生き延びたパトラッシュが復讐を誓って魔犬となり、ネロを
虐げた人々を襲っては喰うのだ。
>163 完全一致じゃないものからどうやって? >164 俺はセブンラッシュがいい。コンチIII最強。
>>167 ((((゚Д゚;))))ガタガタブルブル
>>168 +-jp
| +-co
| | +-xxx
| | |
| | +-yyy
| +-or
| +-zzz
+-to
|
:
:
>>170 ぽかーん
ハッシュって何かわかってる?
>170 意味わかんね。ハッシュって知ってるよね?
つーかさ、どうやってハッシュ値生成すんの? リクエストのリモホをドメインで区切って すべてについて比較するっていうなら、わからないでもないけどさ。
bbs.cgi を機能ごとに分割して… だめだな。
だって>170の図はどう見てもただの木じゃん。 全然ハッシュと関係あるように見えない。
しかも区切ってるのは規制リストの方だし。
なるほど、場合によってはリモホの文字数分だけ比較しなきゃいけないか。 (規制リストには後半の一致部だけ入れといて) だったら下手すると2分探索の方が速そう。
やっぱDB化して SELECT * FROM T_DENY WHERE HOST LIKE '%xxx.ne.jp'; とかかの。
>>183 偉そうな事言っといて結局リニアサーチかよ!
偉そうな事言っといて結局リニアサーチかよ!
185 :
名無しさん@お腹いっぱい。 :03/05/18 19:12 ID:w3ef5Ze0
>>158 書き込み部がrubyで、表示部がC++らしいです。
ツリー表示云々の機能をバッサリ切れば、2ちゃんでも使えそう
>>184 SELECT 〜 LIKEってリニアサーチなの?
まあDBが中でどうやって探してようが、bbs.cgiが探さなくて済むならそれでいいと思うんだが。
まぁ中の人ががんばっている訳だが、
bbs.cgiをどんなにいじくってもDBの中の人以上の信頼性と安定性を得るのは難しいわけで。
高速性と自己満足は得られる可能性はあるかも、
DBにINDEXつけとけば検索早い、とかいう話?
>>186 like使ったんじゃインデックスが効かない
つーかいくらDBの中の人に興味がなくても
それぐらいわからないと説得力ないぞ
193 :
名無しさん@お腹いっぱい。 :03/05/18 20:12 ID:ZCfCpxzS
そう言えば、この調子で言ったら、転送量限界達するまであと何日ぐらい?
あぼーん
195 :
名無しさん@お腹いっぱい。 :03/05/18 20:53 ID:ZoWVW8hi
つーかあれだ、実際に動くコード書いた上で言ってくれ。
テストデータは
>>181 の中にあるから。
・規制のやり方をおおざっぱにする という選択肢は無しか?
199 :
名無しさん@お腹いっぱい。 :03/05/18 21:56 ID:sDK+/dHs
>198 ひろゆきの基本思想から考えて、無理。
基本思想って「めんどくさいことは嫌」の他に何かあったっけ。
このスレの、 規制は部隊をつくってでもきっちりやりたい ってやつでは?
仕事きっちり
203 :
名無しさん@お腹いっぱい。 :03/05/18 22:09 ID:hZV0EVGe
「きっちり」ってのは、 1.規制対象を漏らさないようにする 2.道連れを最小限にするようにきめ細かく設定する のどっちなんだろう。 1なら効率化は簡単。
つまりあれだ 鯖からケーブルを抜くんだ
つまりあれだ どうせリストを全部読み込むならFastCGIにするんだ 整理されたファイルを途中まで探索するならファイル形式を練るんだ
207 :
名無しさん@お腹いっぱい。 :03/05/19 09:06 ID:2Qojq86d
2だろ今の状態でも巻き添え食った奴の苦情が絶えんのだから
208 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/19 13:48 ID:???
結局、0が一番早かったんすか?>156
ひろゆきが、安定性やら高速性やら精密性やら 何を優先して欲しいか言わなきゃ方向が定まらないよ とか思ってたけど、もしかすると、夜勤さんが勝手に言い始めただけでは? んで、ひろゆきは、今のままでも特に問題無いし、再開発は特にはどうでもいい。 でも、何も口出さなくてもよくて、誰かが勝手にやってくれて、今よりいいものが出来るのなら ラッキーだし皆頑張れ とか考えてないか? > ひろゆき
>夜勤さんが勝手に言い始めただけでは? bbs.cgi再開発計画
>>209 bbs.cgi は私たち素人は近づいちゃいけない
神の領域なんですよ。
わかっていますか?
∂ l⌒ヽ ♪ i ; ; ''i ♪ |' : l ヽ(´Д`;)ノ )) キュウリキュウリ♪ ノ 鯖. 丿 (( (~ :; ;.ノ> )) ゛''' '' ズルズル こんな感じで近づいてもだめ?>神の領域
213 :
名無しさん@お腹いっぱい。 :03/05/19 15:08 ID:AKXygBqW
>211 ひろゆきの娘(bbs.cgi)と結婚(改造)して 2chをのっとるという夜勤の野望ここに潰えるか。 地道に鯖やread.cgiを改良するしか無いような気が
出来ることなら、見て見ぬ振りをしたい。 うひゃひゃ でも、なんか楽しいじゃん。わいわいがやがや。
これほんとにひ(略が作ったの?トオルタンだろ? まさかな はっは〜 とりあえずおいらの希望としては、bbs.cgiでカレーがゆっくり煮込めるようにして下さい
216 :
名無しさん@お腹いっぱい。 :03/05/19 15:39 ID:MSebs3kf
我々には産まれたままの姿は見せられない とかいいながら、トオルや(^_^;)にはあんなとこやそんなとこまで いじくらせてるんだよな、まあその結果が今の絶妙なバランスなんだが
217 :
名無しさん@お腹いっぱい。 :03/05/19 19:22 ID:8Pi/9UWX
ひりゆきが作った訳じゃないし。。。
218 :
仕様無しさん ◆ukNwLv.g/w :03/05/19 20:43 ID:Aij+AdRO
>>208 0は比較用の何も処理しない(規制無し)状態です。
ですから、残りの(75等の)時間から0の約5秒を引いた時間を402(件数)で
割った時間が一回の規制処理にかかる平均的な時間になります。
で、ついでにもう少し高速化してみてうpしときました。
>>156 試験どもです
で、
147.plなんですが、
if($HOST =~ /$_/i)
だと文字列反転した意味が出てなくて、(コードが期待する通り)75.plと
同じ結果になってます。
ま、直してもどんぶり状態はあまり変らないかもですけど。
>>219 ドメイン名は反転、IPはそのままで ^ を付けてやってみました。
約15秒で変わらないですねぇ。
今の2chのスクリプトの大元作ったのはドルバッキーさんでわ?
たくさんの人に愛されてきたのですね。>bbs.cgi
bbs.cgiが20030519になってるわけだが・・・( ̄ー ̄)ニヤリッ
ひろゆきさんも、大事な一人娘を愛しているんですね
NHK人形劇 ニチャンニチャン物語
perlは久々なんだけど、何とか2分探索を実装した。
正規表現は無理だけど、前方一致でいけます。
(規制リストに example.com があったら、
www.example.comとかmail.example.comを引っ掛ける)
>>156 のテストだと、2倍強くらいしか速くなってない。
多分、コードがでかくなったせいで、スクリプトのparseに時間が
かかるようになったからと思われ。
要するに、bbs.cgiに2ちゃんねるのロジックを詰め込みすぎているのか?
230 :
228 :03/05/20 00:21 ID:vZDlrKy4
まずこいつで検索用データベースファイルを作る。規制リストを 更新したら1回実行すればよい。 proxy_list.dbというデータベースファイルができる。でかくてすまん。 #!/usr/bin/perl $pxck="proxy_list"; $maxlen = 20; open(PHOST,"<$pxck"); my @PIP = <PHOST>; close(PHOST); foreach (@PIP) { chomp; if (/^([0-9]+\.)*([0-9]+)$/) { # this is IPv4 address @list = (@list, $_); } else { # this is hostname @t = split /\./; @t = reverse @t; @list = (@list, lc(join ("." , @t))); } } @list = sort(@list); foreach (@list) { $l = length; if ($l > $maxlen) { $maxlen = $l; $str = $_ } } $maxlen = 80; # max size of record is $maxlen ! open(DB, ">$pxck" . ".db") or die "can't open file!"; foreach (@list) { $l = length($_); if ($l <= $maxlen) { print DB $_ . ( " " x ($maxlen - length($_))); } }
231 :
228 :03/05/20 00:23 ID:vZDlrKy4
次は検索用スクリプト。でかくてすまん。 #!/usr/bin/perl $pxck="proxy_list"; $maxlen = 80; $host = $ARGV[0]; if ( ! ($host =~ /^([0-9]+\.)*([0-9]+)$/) ) { # not IP address @t = split /\./, $host; @t = reverse @t; $host = join (".", @t); } $host = lc($host); $dbfile = $pxck . ".db"; ( $dev , $ino , $mode , $nlink , $uid , $gid , $rdev , $size , $atime , $mtime , $ctime , $blksize , $blocks ) = stat ($dbfile); $nrec = $size / $maxlen; # number of record $low = 0; $high = $nrec - 1; open(DB,"<$dbfile" ); while ($low <= $high) { $mid = int(($high + $low) / 2); seek(DB, $mid * $maxlen, 0); read(DB, $rec, $maxlen); $rec =~ s/ //g; # print "$mid: $rec\n"; if ($host =~ /$rec\./ || $host eq $rec ) { print "."; # found!! break; } if ($host lt $rec) { $high = $mid - 1; } else { $low = $mid + 1; } } close(DB);
おいらこんなの作ってみた。 小さいけどHASH使うやつ。 #! /usr/bin/perl $pxck="proxy_list"; $HOST=$ARGV[0]; open(PHOST,"<$pxck"); while (<PHOST>) { chomp; $PIP{$_} = 0; } close(PHOST); chomp($HOST); $lim = 3; # !!!! @host = split /\./, $HOST; for ($i = $#host;$i>=$lim; $i--) { $H = join ".", @host; if( exists $PIP{$H} ) { print "matched\n"; } shift @host; } --- $lim = 3てのでdomainのレベルを'4'に固定しちまっている ところがちょっとちょっと。あ、3レベルしかないデータが あるな...じゃ$lim = 2にしとかないと...とかエレガント じゃないのがたまにきず。
そういえば WebProg板で last modified 2001年 12月 19日 by ひろゆき の bbs.cgi が流出してたことがあったなぁ・・・
アラヤダ
235 :
228 :03/05/20 02:28 ID:vZDlrKy4
>>232 カコイイ!!
DB_File使えばO(1)だな
236 :
228 :03/05/20 02:30 ID:vZDlrKy4
厳密にはO(1)じゃないけど、ほとんどO(1)だね
処理時間が短くて済むのがハッシュの特徴だからね。 しかし、その反面メモリを大量に食うというデメリットがある。 呼び出されるたびに毎回メモリ上に大量のデータを展開するのは 呼び出しが集中するとマズい気がするが、 そこらへんはどうなるかやってみないとわからないだろうなぁ。
238 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/20 02:55 ID:???
>>231 プロキシリストは、IPじゃなくて、リモホも入ってたりします。。。
***.com以下のアクセスを全て規制みたいな、、
>>238 ちゃんと判別してるよーにみえるぞ↓
>if (/^([0-9]+\.)*([0-9]+)$/) { # this is IPv4 address
>@list = (@list, $_);
>} else { # this is hostname
>@t = split /\./;
>@t = reverse @t;
>@list = (@list, lc(join ("." , @t)));
>}
240 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/20 03:03 ID:???
うわーい、、、アルゴリズムをよくわかってないおいらです。。 IPをみて、数字がでかいかどうかを判定してるんじゃないんすか? while ($low <= $high) { $mid = int(($high + $low) / 2); seek(DB, $mid * $maxlen, 0); read(DB, $rec, $maxlen); $rec =~ s/ //g; # print "$mid: $rec\n"; if ($host =~ /$rec\./ || $host eq $rec ) { print "."; # found!! break; }
ほんとだ。よくみたら数値比較してるっぽいな。 IPとホスト名まぜるのはもうちょっと工夫がいるな。
アルゴリズム的には、2分探索ってのは データを順番に並べておいて 真ん中と比較してどちら側にあるかを判定し さらにその真ん中と比較して・・・を繰り返すだけ。 で、今回の場合は、リモホの部分一致じゃなくて末尾一致でいいから 規制リストを末尾の文字から代償を比較して、順番に並べておこうと。 IPアドレスも混じっているなら 逆引きできないアドレスも全部文字列にしてから比較するか ファイルを分けるのがよろしいかと。
リモホチェックにパスしたら昔テストしてたSPIDみたいなCookieを食わせて 以後ある程度の期間はCookieのチェックだけで済ませちゃいかんの?
244 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/20 03:31 ID:???
いやぁ、、それを実装するはずだったんですが、
時間がたってしまいました、、、
>>243
で?
>>232 >>235 のバークレーDB路線はどうなの?
DB_File使えばO(1)だな
って
手がすべた、、で、どうなの?
248 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/20 03:38 ID:???
DBでの実装も試験してみますかぁ、、
あぼーん
>>248職人様方の邪魔をしてしまいました。 本当にすみませんでした。
>でも、友達は後で泣きながら「なんでHPの作り方なんか教えたの?○○(私の名前)のせいじゃん! >と言ってきて、絶交状態です。 >2ちゃんねらーは、私たちの友情も引き裂きました! ワラタ
近頃は自動謝罪カキコ機能の付いたスクリプトがあるの?
253 :
228 :03/05/20 04:33 ID:vZDlrKy4
254 :
241 :03/05/20 04:43 ID:FthSt6oi
>>238 やべ。。てっきり比較してるのIPの一部とかだと思ったら。。
混乱させて正直スマンカッタ
255 :
232 :03/05/20 11:37 ID:2BSs0sVK
static void update_db(const char *proxy, const char *db) { FILE *src = fopen(proxy, "r"); FILE *dst = fopen(db, "w+"); char line[IP_LENGTH + 1]; char **list = NULL; int i, list_length = 0; while (fgets(line, IP_LENGTH, src) != NULL) { char *reverse = (char *) malloc(IP_LENGTH); int length = strlen(line); memset(reverse, '\0', IP_LENGTH); if (length > 1 && line[length - 1] == '\n')line[length - 1] = '\0'; strreverse(reverse, line); list = realloc(list, (list_length + 1) * sizeof(char*)); list[list_length++] = reverse; } qsort(list, list_length, sizeof(char*), (int (*)(const void *, const void *)) &qsort_strcmp); for (i = 0; i < list_length; ++i) { fwrite(list[i], 1, IP_LENGTH, dst); free(list[i]); } fclose(src);fclose(dst); free(list); } static void update_db_if_need(const char *proxy, const char *db) { struct stat st; time_t update; stat(proxy, &st);update = st.st_mtime; if (stat(db, &st) < 0 || update > st.st_mtime) update_db(proxy, db); } static __inline__ int stripcmp(const char *ip, const char *jp) { for (; *ip == *jp; ++ip, ++jp) if (*ip == '\0')return 0; return (*jp == '\0') ? 0 : ((*ip < *jp) ? -1 : 1); }
static int search_ip(const char *ip) { FILE *fp; char line[IP_LENGTH]; char reverse[IP_LENGTH]; int min, max, length = strlen(ip); update_db_if_need(PROXY_FILE, PROXY_FILE_DB); fp = fopen(PROXY_FILE_DB, "r"); strreverse(reverse, ip); fseek(fp, 0, SEEK_END); min = 0;max = ftell(fp) / IP_LENGTH; do { int ret, i = (min + max) / 2; fseek(fp, i * IP_LENGTH, SEEK_SET); fread(line, 1, IP_LENGTH, fp); /* ret = strncmp(reverse, line, strlen(line)); */ ret = stripcmp(reverse, line); if (ret < 0)max = i - 1; else if (ret > 0)min = i + 1; else{ fclose(fp); return 1; } } while (min <= max); fclose(fp); return 0; } int main(int argc, char **argv) { if (argc == 2) { if (search_ip(argv[1]) != 0)printf("match: %s\n", argv[1]); } else { FILE* src = fopen(PROXY_FILE, "r"); char line[IP_LENGTH + 1]; while (fgets(line, IP_LENGTH, src) != NULL) { int length = strlen(line); if (length > 1 && line[length - 1] == '\n') line[length - 1] = '\0'; if (search_ip(line) != 0)printf("match: %s\n", line); } fclose(src); } return 0; }
先頭が書き込めてなかった(´・ω・`)ショボーン #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #definePROXY_FILE"./proxy_list" #definePROXY_FILE_DB"./proxy_list.bsort" #defineIP_LENGTH64 static __inline__ int isstrip(const char* ip) { for (; *ip != '\0'; ++ip) if (!(*ip >= '0' && *ip <= '9') && *ip != '.')return 0; return 1; } static void strreverse(char *dst, const char *src) { if (isstrip(src) != 0)strcpy(dst, src); else { const char *p = src + strlen(src); while (p > src)*dst++ = tolower(*--p); *dst = '\0'; } } static int qsort_strcmp(const char** x, const char** y) { return strcmp(*x, *y); }
#define の所のタブの空白が消えてやがる
260 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/20 13:56 ID:???
IPアドレスを逆さにしたりする作業がありますけど、
IPアドレスやドメイン名がすでに逆さになってるリストがあるという前提
だとkisei | 33.79 33.82 33.72 33.78ってことですか?
>>255 おぉ、、Cだ、、、
DBを作るほうはなんとなくわかるんですが、
検索のほうのアルゴリズムがよくわかりません。。。
>>260 見た感じだとIPv4だったらkisei.pl内で逆さにしてるっぽいですが…
>>260 説明足らなくてすんません
DBつくるmkdbf.plってのの中で、IPアドレスのデータだけ、'.'で区切られた
パートを反転させています。リモホはそのまま。
で、比較元が$HOSTに入りますが、それがIPアドレスだったときだけ
パート反転させています。
比較はIPもリモホも左側のパートを削りながら一致を探しています。
たとえばIPアドレスで
24.xxx.xxx.xxx
なんてのを規制する場合に規制DBには
'24'
というエントリがあって、$HOSTに24.123.223.111が来た場合の動きを
想像してみてください。
反転すると、
111.223.123.24
比較は
1st 111.223.123.24 X
2nd 223.123.24 X
3rd 123.24 X
4th 24 bingo !
みたいな感じです。
理屈はそうなんだけど、実際はしらせると重いのがなんとも...
チェックしなきゃならない規制っていくつあるのだろぅか。 1) スレ立て規制。 (うまく動いている?) 2) 連投規制。 (あまりうまく動いていない?) 3) 公開プロ串規制。 (結構うまくいっている?) 4) プロ串規制(ポートチェック)。 (結構うまくいっている?) 5) jp以外規制。(YBBとかの問題?) 6) 投稿内容のチェック? (文字数とか、行数) 7) 512K超えチェック 8) 1,000超えチェック 9) 血液さらさらチェック 処理の順番とか、スキップするとか・・・ それぞれのチェックを軽くすることも勿論必要だけど。 そこが 50% 軽くなって全体にはどれくらい寄与するのか? 「処理をしない」という選択肢もあると思うのだが。
10) 毛髪チェック
>257 max = ftell(fp) / IP_LENGTH; max = ftell(fp) / IP_LENGTH - 1; だった(´・ω・`)ショボーン
尿酸値もチェックしないと…。
>>263 技術面の話は進んでるけど、全体的な設計をもっと詰めましょうってことですかね?
負荷が高くなってきたら、 適当にチェックをさぼるようにすれば、 負荷を一定以下に保てる。
処理の重みが見積もれないのか?
>>269 何も設定されてないと、デフォルトが適応されるのだぁ、
>>271 デフォルトっていくつぐらいなんだろう、、、
>>263 まさかまさかと思うけど、将来ID制に移行して
(例えば)●ログイン(や2chspアド)が無かったら書き込めない、、、、
なんていう規制も想定内?
>271 最近設定の無い板を幾つか目撃して、どうなってるのやらと思ってました。 今度はデフォ値が気になったり・・いやいや、初歩的な質問に回答ありがとうでした(汗
デフォルトは荒らしとかもあるから、公開禁止かなぁ、、と。 もちろん他の設定にもデフォルトはあります、
276 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/05/21 02:31 ID:???
最初から圧縮しておけばデーモンたんが圧縮にかける処理を省けるんじゃないかという発想? 何がネックなのかよくわかってないけど、あんまり意味がないんじゃないかなぁ。
>>260 #! /usr/bin/perl
use DB_File;
だけのスクリプトでやってみると、
hoge:kisei% time ./a.sh useDB_File
24.828u 6.891s 0:31.79 99.7% 880+617k 0+0io 0pf+0w
hoge:kisei% time ./a.sh useDB_File
24.965u 6.755s 0:31.79 99.7% 879+617k 0+0io 0pf+0w
hoge:kisei% time ./a.sh useDB_File
24.825u 6.891s 0:31.79 99.7% 877+617k 0+0io 0pf+0w
hoge:kisei% time ./a.sh useDB_File
25.278u 6.443s 0:31.80 99.7% 879+618k 0+0io 0pf+0w
な感じで(予想できたことだけど)これが殆どの時間喰ってやがる。
比較のため0.plの時間は以下
hoge:kisei% time ./a.sh 0
2.839u 2.285s 0:05.59 91.4% 849+311k 0+0io 0pf+0w
hoge:kisei% time ./a.sh 0
2.728u 2.393s 0:05.14 99.4% 851+313k 0+0io 0pf+0w
hoge:kisei% time ./a.sh 0
3.009u 2.112s 0:05.14 99.4% 845+312k 0+0io 0pf+0w
...つまり、比較処理は期待通りの速さを得られそうだが、前準備処理が重い。
...ということは前準備処理をなるだけ減らす...ってサーバ化する必要あり
ってことでしょうかね? 単純なRequest-Answer形式の鯖つくって、検索エンジン
としては
>>256-258 をつかうっと。
279 :
278 :03/05/21 13:04 ID:qJuaIACU
鯖をたててそいつと通信させるにもやっぱ処理のオーバヘッドが あって... #! /usr/bin/perl use Socket; で測ってみると、 hoge:kisei% time ./a.sh useSocket 14.396u 4.171s 0:18.61 99.7% 874+473k 0+0io 0pf+0w hoge:kisei% time ./a.sh useSocket 14.390u 4.183s 0:18.62 99.7% 876+474k 0+0io 0pf+0w hoge:kisei% time ./a.sh useSocket 14.221u 4.349s 0:18.62 99.6% 872+472k 0+0io 0pf+0w hoge:kisei% time ./a.sh useSocket 14.439u 4.132s 0:18.63 99.6% 874+473k 0+0io 0pf+0w 平均 18.62 Perlでやると結構うがーな模様
>>278-279 これは、Perlの宿命ってやつですね。
Perlでやる以上、この部分(モジュールの初期化にかかる部分)はしかたない気がする。
最近自分の環境でSpamAssassinを立てた時もそう思った。
Perlの初期化部分の重い処理はデーモン化する方向で解決を図ることが多いですね。
Perlは起動と初期化が重いので。
すなおに常駐させればいいのにって思う。FastCGIは駄目なの?
いっその事Perlに拘らないとか?(^_^;
鯖がタコなんだよ。
285 :
228 :03/05/21 22:05 ID:855jjad1
DB使ったほうが速いと思ってたので、
あまりまじめにテストしてなかったけど、
2分探索(bsearch.tgz
>>253 )は結構速いかもしれない。
Perlでクライアント/サーバする上で必須になると思われる
「use Socket;」*だけ* を書いたスクリプトよりも速い。
規制リストの数が数千行のレベルなら、Perlでやる限り
2分探索でよいかもしれない。
----
Celeron 1.1MHz, FreeBSD 4.5上の /usr/bin/perlで測定:
time ./a.sh bsearch
2.925u 2.288s 0:05.27 98.6%
time ./a.sh dohash2 #
>>255 8.520u 2.416s 0:11.02 99.1%
time ./a.sh socket # use Socket; とだけ書いたスクリプト
17.898u 4.114s 0:22.06 99.7%
time ./a.sh loaddb # use DB_File; とだけ書いたスクリプト
23.374u 5.255s 0:28.78 99.4%
286 :
228 :03/05/21 22:09 ID:855jjad1
>>285 Celeron 1.1GHzね。1.1MHzなんて俺が初めて触ったマイコンより遅いじゃねーか
287 :
228 :03/05/21 22:23 ID:855jjad1
あと、純粋なPerlの起動オーバヘッド(プロセス起動+構文解析)を測定
するために、
>>75 の先頭に "exit;"を
挿入したもの(null)についてテストしてみた。bsearchの実行時間の大半は、
実は最初からPerlに存在する起動オーバーヘッドの模様。
---
time ./a.sh 75 # ひろゆき氏オリジナル (
>>75 )
11.365u 2.407s 0:14.19 96.9%
time ./a.sh null #
>>75 の #/usr/bin/perlの直後に "exit;"を挿入したもの
1.995u 1.916s 0:03.91 99.7%
228氏、おつかれです。 なるほど、bsearchは結構有望そうですね。 # 今日も徹夜かも。スペインから帰国してから、仕事でずっと徹夜だ、、、。
ところで、規制リストの性能ばかり注目してたけど、実際処理のネックってそこだけじゃないよね、多分。Perlなら-d:DProfとかつけて起動してprofilingデータ採ってみるといいかも。
そーいやポートスキャンのためにどのみちuse Socket;が必要なのに use Socket;を省略した場合の性能を測っても意味ないな むしろポートスキャンの処理も追い出せる分DB化のほうが やっぱり有利かもしれん
292 :
228 :03/05/22 21:31 ID:uX3vIszm
>>291 あ、そーか > どのみちuse Socket;が必要
ポトスキャンイラネ
>>291 そーす見てないおらが言うのも何だが、今のbbs.cgiって
use Socket;
してるんだろうか? なんかプリミティブなsocket()使ってる
と想像していたが...ホントのところは如何?
それが判ったところで、どうというものでも無いか。
個人的な趣味としては
Perlなのに軽い動作(どーやって作ったんだろうと思わせるような)
見かけは思いどおり動作してるが、たまにオチャメな振舞いもする。
(けど、一線を越えることはない; 鯖に侵入されるとか)
>>294 必要な時はやってます、<use Socket;
もちろん、必要のない時はしないです、
useって存在するだけで問答無用にモジュールが取り込まれますが ↓エラーになる ------------- exit; use XXX; ------------- ↓大丈夫 ------------- exit; require 'XXX.pl'; ------------- まあ2chの運営陣が素人ばかりなのは常識だからいまさら驚かないけど
perl -w -e 'exit;' -e 'use Socket;' でなにも文句いわれませんでしたが何か?
>>297 >>296 の意味が根本的にわかってないバカ。
実在するモジュールを指定すればエラーにならないのは当たり前。
なんか酔うわからんけど、がんばって
とりあえず
>>162 で言ってた Apache モジュール作ってみますた.
http://202.228.205.19/jikken/mod_authz_iplist.c で,ディレクティブは
IPList type file
type: "Black"または"White"
file: リストのファイル名
[使用例]
<Files bbs.cgi>
IPList Black /path/to/proxylist
</Files>
という感じです.Black リストの場合はリスト上のホストの
アクセスを拒否しそれ以外許可,White リストの場合はその逆です.
あと,
<Location /authz-iplist>
SetHandler authz-iplist
Deny from all
Allow from 127.0.0.1
</Location>
のようにした上で
http://localhost/authz-iplist に
アクセスするとメモリ上に取り込まれたリストが表示されます.
# ここの Deny / Allow の代わりに IPList 使ってもいいですが(w
>>300 getしてた(w
それはともかくとして,名前空間の衝突を避けるため,
ディレクティブ名を変更して"AuthzIPList"にしますた.
AuthzIPList type file
type: "Black"または"White"
file: リストのファイル名
[使用例]
<Files bbs.cgi>
AuthzIPList Black /path/to/proxylist
</Files>
それ以外は
>>300 に同じ.
>>300-301 おつかれ様です
このモジュールの評価としてはApacheにもともとある
Deny/Allow ディレクティブの動作との比較になるん
でしょうか。
あと、Errorページの出し方なんかもHTTPエラーコード
と含めて考える必要はあるですよね?
ファイル構造(inode)というDBを使用するのはどうだろう? アクセス禁止情報は、たとえば *.proxy.expample.comなら、 /forbidden/com/example/proxy というフォルダとファイルを生成しとく。(DNSの逆引きみたいに) ホストが host01.proxy.example.com だとしたら、 ひっくりかえして、com.example.prxy.host01だから、 /forbidden/com/example/proxy/host01をopenしてみる。 なければ、/host01を削って、と繰り返せば、数回のIOでカタがつく。 あるいは逆に、forbidden/comからopenが失敗するまで延ばしていってもいい。 メモリディスクなら、IOも問題にならないし i-nodeはだいたいtree構造をしているはず。
そして何より、 ・perlのモジュールを読む必要はない ・制御ファイルを解釈してデータ構造を構築する必要はない ので初期化コストがほぼかからないし、 ・排他管理とか面倒なところはOSがやってくれる ・bbs.cgiを弄ったりしなくても、アクセス制御が変更できる。 ・ファイル構造はどこにでもある という利点がある。
>>304 そのやり方だと、tky*.hoge.puni.net というように
部分文字列で絞ってアクセス規制をかけることが難しくなるよ。
net/puni/hogeのファイル中に/tky/とか書けば解決する気もする (そこからはリニア検索でもOKだと思う)
>>302 そうですね.アクセス拒否の場合は普通に"403 Forbidden"を
返すので,エラーページは ErrorDocument で指定できますね.
308 :
304 :03/05/27 02:33 ID:bDKAl7Ph
とりあえず、ホストチェックの部分だけ提示しとく。 $PATH_ACCESS = "/access"; sub hostcheck() { my ($HOST) = @_; my @host = split( /\./,$HOST); for( $i = 0; $i <= $#host ; $i++){ my $path = $PATH_ACCESS; for( $j = $#host; $j >= $i; $j -- ){ $path .= "/" ; $path .= $host[$j]; } #print $path,"\n"; open( ACCESS, $path) or next; my $partial = "forbidden"; while( <ACCESS> ){ if( $_[0] == '/'){ chop; $_ =~ s/\///; $partial = "permit"; close( ACCESS ); return "forbidden" if( $HOST =~ $_ ); } } close( ACCESS ); return $partial; } return "permit"; } print &hostcheck( $ARGV[0] );
309 :
名無しさん@お腹いっぱい。 :03/05/31 18:57 ID:w3WUph25
なんでPerlなの?
だったらPerlにしないほうが(ry
Cプログラムのほうがはるかに鯖に優しいと思うし、夜勤もそれを望んでいるらしい。
PHPはどうだろう
>>313 PHPよりはやはりCの方が鯖に優しいかと。
また、PerlだとPHPよりも読める人が多い。
こういった公開しながら作業する場所では、
なるべく可読性の高いもので作業したものを
最も負荷の低い言語で再コーディングするというのが効率的。
315 :
名無しさん@お腹いっぱい。 :03/06/04 06:59 ID:rzXkCM/t
カーネルにhttpd組み込んじゃったりとかは? なんか速いって聞いたけど。 あ、cgiは動かないんだっけ?
珍案ばっかりだな
317 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/06/04 18:56 ID:???
うお、、ディレクトリつくるってすごいな。。。 とりあえず、既存のを改造する案↓
318 :
サザン ★ :03/06/04 19:01 ID:???
とりあえず、PROXYリストの改造を。。 今は何千行ってループしてます。 それを一行にまとめちゃって、ホストごとにコンマで区切って。。 それで、$HOST =~ /$PIP/i;ってやってみる、、
319 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/06/04 19:09 ID:???
というわけで、live5あたりで、実験しようかと、、 ラプターのproxy.cgiと形式が違うのでどうしたものかと。
>>320 2chISP で見るときは read.php
phpだと何かいいことあるの?
↑だと分かりにくいね。 書き直し 2chISP で read.php で見ると普通に read.cgi で見るときと違って何かあるの?
ほんとだ。しらなかったのら。
327 :
304 :03/06/05 12:11 ID:Zf40iR/Z
UNIXはディレクトリもopenすることができるから、 open( ACCESS, $path) or next; の下に、 return "permit" if -d ACCESS; が要るかな? ファイルが存在しない->許可 ファイルが存在する -> ファイルの中身に /regexp/がある ->hitする->禁止 ->hitしない->許可 ->ファイルは空->禁止 あんまし綺麗な動作とはいえないなぁ。
Perlはオープンしなくてもファイルタイプの検査ができるはずだと思ったが。
うん
>>328 だからどうした、としか言いようがありませんが。
>>330 327の判定分置く位置は不経済でないかい?
呼ばれているのカナ?
(;´Д`)ハァハァヒサシブリ
ラプターたん(*´Д`)ハァハァハァハァ
>>328 というか
if -d ACCESS;
がまさにその検査だ
えーと、perlの-Xはファイルハンドルでもファイル名でもOKなんですね。 なので、ディレクトリだった場合にオープンする無駄を省くために if -d $pathにしておけばいいわけで。 ちなみに、空かどうかも-sや-zで調べられるから、オープンするのは ・-dではなく、 ・-s>0で、 ・-rである 時だけで済むはず。
338 :
304 :03/06/06 09:16 ID:YwUhdMdf
そうですね。確かに、事前にチェックした方が、 ファイルが存在しないときは、2割ほど速いみたいです。
340 :
328 :03/06/06 13:06 ID:fjgh3N/1
うむ、言いたいことが素直に伝わると気持ちいいね。
理解できていなかった
>>330 、
>>335 は己の不明を恥じ速やかに首を吊るように。
>>340 恥の上塗りをしに来ましたか?
>ファイルが存在しないときは、
だったら最初にやるのは
if !-e $path
だろ。
342 :
名無しさん@お腹いっぱい。 :03/06/06 14:42 ID:ntpjKKK1
トーマス必死だなw
トーマスは他人に求める割りには、柔軟性がないからなぁ
344 :
328 :03/06/06 17:24 ID:fjgh3N/1
345 :
328 :03/06/06 17:31 ID:fjgh3N/1
まぁ説明くらいはしてやるか…。
私が書いたのは
>>328 、
>>331 、
>>340 、
>>344 、そしてこのレスである。
昨日は理解力の人並みはずれて少ない者に対し、親切に説明するほど暇が無かったのだ。
つまり ● ゚、⊃゚) ◆13ThomasYo 君の揚げ足取りは
全く的外れであるといわざるを得ないのだ。
実に ● ゚、⊃゚) ◆13ThomasYo 君は愚者なり。
最後まで間違いを認めないのは愚者の特徴の一つ。
そして ● ゚、⊃゚) ◆13ThomasYo 君は愚者である。
ここから導かれる結論は一つだ。
いくら間違いを指摘しても ● ゚、⊃゚) ◆13ThomasYo 君は最後まで
屁理屈と揚げ足取りを狙い、自分の過ちを絶対に認めないであろう。
そしてそのような状態になった議論もどきを、俗に水掛け論という。
うむ。
>>345 ヤレヤレ…わかってないのか…
「事前にファイルタイプのチェック」をして効果があるのは「ファイルが存在しないとき」
だけなので、
>>328 は「だからどうした」にしかならないの。
ファイルが存在しないかどうかを調べるならどんなチェックよりも-eを先に持ってくるので
ファイルタイプのチェックは「ファイルが存在する」という前提の元に行うことになる。
>>318 正規表現が使えなくなっちゃう…
>>319 F22のリスト更新だけ止めれば、手動で書き換えても大丈夫だと思いまつ。
詳しいことは、夜勤さんに聞いてくださいね。
それとも、F22で新しい形式を作るのカナ?
ラプターたん(*´Д`)ハァハァハァハァ
349 :
328 :03/06/06 19:06 ID:fjgh3N/1
>>346 -dによる検査は、ディレクトリでないときとファイルが存在しないときにfalseを返す。
逆に言えばディレクトリの場合を排除するときにはファイルの存在チェックを追加する必要がない。
一回ファイルハンドルを取得してディレクトリのチェックを行うことはそもそも不経済。
例として挙げられたものはファイルハンドルを先に取得しているから非常に不経済。
キャラ抜きで言うけどさ、なんでこんな簡単なことも分からないの…?
意地でも間違いを認めたくない気持ちは分からないでもないが、本当にあなたは頭が悪いと思うよ。
マジな話。
350 :
328 :03/06/06 19:09 ID:fjgh3N/1
>>346 というか、あなたがそのレスで問題にしている部分はそもそも私とは関係ないわけ。
理解できる?
それ書いたのは私じゃないし。
ただ自分が理解できないことを330で無碍に却下しようと目論んだことについては
一言ぐらい謝ってくれてもいいんじゃないの?
非常にむかついたので。
これだけ言っても何も理解できないようだったら
固定ハンなのを幸いNGワードに入れよう…。
ごめん、あなたとの意思疎通に関しては、完全にお手上げです。
351 :
名無しさん@お腹いっぱい。 :03/06/06 19:53 ID:CedJx496
きっとトマスはド忘れか勘違いしてたんだよ。 可哀相だからいじめないであげよ?
352 :
328 :03/06/06 19:55 ID:fjgh3N/1
りょ、了解。 第三者に諌められちゃ引かざるを得ない。
353 :
304 :03/06/06 19:57 ID:YwUhdMdf
チェック結果を再利用する_を$_と混同してますた、、 で、ベンチの結果なのです t1 |t2 for($i=0;$i<10000;$i++){ |for($i=0;$i<10000;$i++){ open( A, 'test') or next; | next unless -r 'test'; if( -d A ){ close A; next; } | next if -d _; close(A); | open A,'test' ; close A; } |} not found. t1: real 0m0.390s, user 0m0.150s, sys 0m0.240s t2: real 0m0.244s, user 0m0.130s, sys 0m0.110s dir exist t1: real 0m0.841s, user 0m0.510s, sys 0m0.320s t2: real 0m0.296s, user 0m0.150s, sys 0m0.150s file exist t1: real 0m0.850s, user 0m0.520s, sys 0m0.330s t2: real 0m1.010s, user 0m0.350s, sys 0m0.640s
354 :
名無しさん@お腹いっぱい。 :03/06/06 20:05 ID:VrnnoaBQ
>347 ハァハァハゥ >350 トーマスはプログラミングに関する知識はあっても 日本語に関する知識が不足してるので 貴方の言ってることを理解するのも 自分のいわんとしてることを貴方に説明する事も 無理だと思うよ。
粘着がいちゃあ、スレも伸びない分田
356 :
名無しさん@お腹いっぱい。 :03/06/07 00:25 ID:adCNq9pE
トーマスよ。お前みたいな奴をみると、あの日のことを思い出すよ。 2001年8月25日。2ちゃんが本格的に閉鎖になりかけた日だよ。 転送量が多すぎて、費用が月700万もかかってるって発表されて、「数日中に閉鎖」って予告されてさ、 その日のうちにあっちこっちの板が封鎖されてた日だよ。 あのときのUNIX版の住人、カッコよかったんだぜ。「総力を結集」ってのはまさにああいう状態だよ。 転送量を1/3に削減しないと閉鎖、ってもんだから、新しいプログラム組んでさ、 そしたらほんの何時間かで完成したんだよ。それが聞いてくれよ、目標は1/3だったのに 1/16まで圧縮に成功しやがったんだよ。職人技なんてもんじゃねえよ、神技だよ。 でもよ、そうやって頑張る人がいた一方で、 「ボクの肛門も閉鎖されそうです」とか駄スレ立ててたバカもいたわけだよ。 ちょうど、今までのお前みたいにな。
もまいらとりあえず深呼吸でもしておちつけ
post allow_lis簡易評価(by IP) - ok - post反映 |no deny_list評価(by HOST) - ok - allow_list更新 - post反映 |no すてすて
359 :
やきん ★ :03/06/07 12:46 ID:???
スペシャルサーバ買うお金ないから こっちに顔出してみる。 Perl の現 bbs.cgi は管理人にまかせるとして、 私は来年用の新しい bbs.cgi written in C でも作ろうかしら。 subject.txt subback.html をRAM ディスクにおくのをにらんで、 プロキシ規制のほかに .my とか .br とかを はじめからはじける仕様にしようかな 各サブルーチンは容易に入れ替えれるようにしよう。 すたてぃくな変数は使わないでおこう。
へー。
>>359 マレーシアやブラジルから利用している人は排除ですか?
362 :
やきん ★ :03/06/07 13:21 ID:???
>>361 bbs.cgi を作るのが目的で
それを使うかどうかは管理人次第だと思うのですが、
その機能も入れてということだす。
>>359 >スペシャルサーバ買うお金ないから
(´Д`;)
がんばれ。超がんばれ。
364 :
名無しさん@お腹いっぱい。 :03/06/07 13:56 ID:xuhOhVF1
>359 それより>347に関する 詳しい説明が聞きたいのだが
>>350 >それ書いたのは私じゃないし。
誰が書いたかなんてどうでもいい事を気にするバカには配慮しません。
>ただ自分が理解できないことを330で無碍に却下しようと目論んだことについては
俺が理解できてないという妄想はどこから沸きましたか?
ニヤニヤ
誰かレモリヤ呼んできて
>>351 bbs.cgiをことさらにCで書こうとするメリットは???
鯖全体を考慮すると、bbs.cgiがPerl -> C になることのメリットは
さほど無いと思ってしまうわたしは素人ですか?
>>368 つくってから今までのと比較するのが良いかと。
んで、どっちが良いかよーく考えてみようってことで、
正規表現重いっすよ。
書くのは一行でコストが安そうに見えて
実は実行時に一番高い料理を注文している予感。
何もしないで否定するよりは
やって実際に比較しようかと。
とくに live サーバでは活躍する予感。
土台から作り直すから、人間おぷちまいざー効果抜群。
どーだ。
>>369 なるほど。。
でも、bbs.cgiをC化することに割ける人的コストがあるなら、
板の実体をデーモン化するコードをCで書いた方が建設的かも。
板の管理デーモンがメモリ上にスレを保持しておいて、
bbs.cgiやread.cgiその他もろもろはデーモンとやりとりで済ますと。。。
371 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/06/07 15:15 ID:???
>359 わくわく。。
ひろゆきキター
>>370 コーディング時にはそんなこともにらんで、
まずは 現 bbs.cgi の置き換えからかと、
それで効果があればめでたしめでたし、
もしなかったら・・・
そのデーモンとかモジュール化とか、
そちらへ行くべきかどうかをその時点で考えられるかも、
少なくとも考える基になるデータは今より増えているはずだー
いらっしゃーい
>>371 まずは老体に無知うって
たたき台書いてみるですよ。
んで、公開するから
各サブルーチンはより良い方向へ
より効率的な方向へ興味のある人は書き換えよう !!
のような予定だす。
375 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/06/07 15:23 ID:???
汎用bbs.cgiにして、公開して2chルーチンを加える感じっすかね。
なるほど。。。
>>373 大将も興味を示していますし、その線で。。。ってことですね。
Cで文字列を扱うにあたっては、
コーディングには十分気をつけてくださいね。。。
極東地域のクラッカー達のチャレンジの的になっているわけですから。。。
たぶん 味付けはパラメータをファイル設定で (SETTING.TXT) 根幹の bbs.cgi は bug が抜けたら一生さわらなくても良いように こんな感じかと、 関数の仕様もがっちり、より良いコードややり方が見つかったら 入れ替えられるようにね、
>>375 おおっ! ついに禁断のbbs.cgiが部分公開されるわけですね。 (ワクワク
公開というか、、、 まっさらから公開で作ろうかと、 最終的に採用されるかどうかは分からないけど 楽しい作業になるのではないかなぁ まずは前祝と言うことで 宴会に行ってきますー
380 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/06/07 15:32 ID:???
main(){ exit; }
未だにリライトのプライオリティが見えないんですが。 負荷を減らすのか速さを追求するのか省力化してもいいのか仕様変更を伴うのかetc...
>126 実際の処理はこんな感じ?
>>382 人間おぷちまいじんぐ
これが一番の目的かもよ。
385 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/06/07 15:37 ID:???
人間おぷちまいじんぐってなんだろう。。
ひろゆきみたいな無駄の多い生き方してる人間をキビキビ働くように 更正させるとか…
>人間おぷちまいじんぐ 人間活用?
388 :
ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ :03/06/07 15:49 ID:???
最近、おぷちまいじんぐに成功しまして、 ズボンがゆるくなりました。
於風帝邁進具
390 :
名無しさん@お腹いっぱい。 :03/06/07 17:37 ID:Jcdwb9Em
昨晩から今日にかけてどうやら君の書き込みが烈しく多いと思うですよ。。
>390 まだ酔ってるんだろうか
>>384 おぷちまいじんぐの方向性を訊いてるんですが。
ウェイトトレーニングにも体重減少を目的とするか筋力増強を目的とするか体型追求を
目的とするかで方法が違うわけですから。
「やれることをやる」に決まってるじゃん
int main(void){ /*公開PROXY規制(引っかかったら終了)*/ /*本文規制(広告URLなど:引っかかったら終了)*/ /*その他特定ホスト等の規制(OPTION) */ /*SETTING.TXT(R) */ /*xxxxxxxx.dat log/xxxxxxxx.dat subject.txt subback.html index.html i/index.htmlをロック*/ /*dat追記 */ /*log/dat追記 */ /*subject.txt書き直し*/ /*subback.html書き直し*/ /*i/index.html書き直し */ /*index.html書き直し */ /*ファイルロック解除*/ return 0; }
>>393 「やれる事」自体は無数のあるので目的が決まらないと何もできませんが。
test
400
>>398 そもそも現状でどういう問題があるのかサッパリわからんのですが。
>>401 でしたらあなたとしては終了という事でもかまわないのではないかと。
とりあえず
>>1 のリンク先を読んでみては?
405 :
名無しさん@お腹いっぱい。 :03/06/08 01:10 ID:hPaw+m8V
トーマスが目的もなくただ絡んでいるだけだということがよく分かりますた。
>>403 読んでもわからんていうか、リアルタイムでそのスレ読んでたけどやっぱりわからんので
訊いてるんですが。
>>395 /*xxxxxxxx.dat log/xxxxxxxx.dat subject.txt subback.html index.html i/index.htmlをロック*/
これ全部同時にロックする必要があるかなぁ?
datとlog/datの同一性を保証するのは当然だけど、
それ以外は、必ずしも厳密でなくてもいいかも。
>408 >126-128をそのまま拍ってきただけですた。。。 あと>5こんなのもあったんだね…
>409 名前戻すの忘れてた(鬱
>>407 俺の経験では仕様も目的も不明なものは「弄らないのが最良」なんですが。
デーモン化するなら、サーバーレベル(S)、カテゴリレベル(C)、板レベル(B)、スレレベル(T) の処理をするデーモンを分けてみては。各レベル一つづつじゃなくて、例えばスレ数分だけ デーモンがあるようなイメージなんだけど。 ・各単位ごとのパラメータの調整がしやすい。 ・1つのデーモンの障害の影響が他におよびにくい。 ・各単位はそれほど複雑にはならないだろうから保守性が高い ・マルチプロセッサ有効利用(?) あたりの利点はある気がする。 あと、BとかTのところでSUBJECT.TXTとかdatのキューイングをして、 書き換えは、前の書き換えが終るまでにキューにたまったのを 一気にするようにするといいかもしれない。 プロセス間通信の負荷ってどの位なんだろう。
あーよく寝た。
>>406 おいらはこのスレとしては「困っている」所は無いと思ってます。
こうした方がいいんじゃないかと言う形で出来たスレだし。
そしてそれを議論するのが「面白い」わけで。。。
あくまで個人的見解ですが。
>>412 サーバレベルで常時起動しておく必要のある作業ってほとんど無いような。。
強いて言うならアパッチですか? (w
スレ数分だけデーモン。。。って、数千個のプロセスを併走させるってことですか?
psコマンドの出力が壮観でさぞ見物でしょうけど、メリットはあまり無いような。。。
今のところ、やって意味がありそうなのは、やはりそれぞれの板を司るデーモン(itad ?)ですよね。
FastCGIみたい。
>>414 スレ数分常時起動しておくのではなくて、
・板デーモンから度起動する
・起動したら、キューイングしつつレスを処理する。
・キューが空になってもすぐに終了しないで、一定時間次のレスを待つ
・一定時問、何もなかったら終了
ではどうでしょうか。(inetdでwaitオプションを付ける感じ)
短時間にレスが集中したときに、
>>395 のようにするよりも、
・プロセス起動のオーバーヘッドが無くなる
・dat等の書き直しをまとめてできるのでIO負荷が減る
ような気がします。
【問題記者】祝!"きしゃトーマスφ ★"遂にキャップ剥奪【自業自得】
ニュース速報+板、記者キャップ剥奪議論スレ★11
http://qb.2ch.net/test/read.cgi/accuse/1052409393/ 318 名前:心得をよく読みましょう[] 投稿日:03/05/09 03:36 ID:+FUMqijh
剥奪された、とは決して自分から口にしない
他人を叩くことは大好きだが、自分の脇腹はきっちり守る
プレイリードックのような小賢しい動物ですね
324 名前:●´_>`) ◆13ThomasYo [sage] 投稿日:03/05/09 03:38 ID:v2oH/9ee
>>318 今現在キャップは止まってるよ。
406 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★[] 投稿日:03/05/09 04:16 ID:???
まだ、焦点わかってないようだから(トーマスは記者には)向いてないと判断してるわけで、、、
432 名前:心得をよく読みましょう[sage] 投稿日:03/05/09 04:28 ID:n6iK2YjP
>>406 でもう決まったしね。
後は何言っても変わらないでしょ。
440 名前:●´_>`) ◆13ThomasYo [sage] 投稿日:03/05/09 04:31 ID:v2oH/9ee
>>432 そもそもキャップを復帰してもらおうとは思ってないし。
>>411 登山とかやってみるといいかもよ
それも海面から登れる利尻富士とか
チャレンジ精神
>>418 「登山」は手段でしかないので、それ自体は目的になりません。
山頂で満天の星のもとでセックスするとかそういう目的があって初めて「山に登る」という
手段を選択する事ができるわけです。
で、結局このスレは何をするとこなんだろうか…
422 :
名無しさん@お腹いっぱい。 :03/06/08 15:43 ID:y4FuksOG
夜勤さんの昔取った杵塚と 底の割れたトーマスの見れるスレは ここですか?
>>421 トーマスに邪魔されながらbbs.cgiを再開発するスレ
>>421 リアルタイムでデスマーチをヲチするスレにしか見えん。
とりあえずトーマスが役に立ってないのはよくわかった(す
>427 よく分かった
3人兄弟の真中のような人だな
納期もないものがどうしてデスマーチになるんだか
>>427 その実績がどこにしめされてるのかな?
履歴書と業務経歴書でもどっかに公開してあるのか?
素人が出てきてもうざいだけだから引っ込んでろよ。
>>431 >独立系でありながら、三菱電機様、日本電気様、日立メディコ様、日本ユニシス様などを
>はじめとする大手優良企業様から絶大の信頼を頂き、最先端の技術開発に取り組んできました。
>事業分野は、通信・流通を中心に医療、エンジニアリングなど幅広い領域に広がり、
>コンサルティングからソフトウエアの設計、開発、メンテナンスにいたる一貫したサービスを行ない、
>「高度な技術力を誇るシステムインテグレータ」として、評価を年々高めています。
(中略)
>WEB技術や移動通信技術、マルチメディア技術の飛躍的な進歩で新たな可能性を広げるIT。
>私たちはこれからも最新技術の動向をさぐりながら、既存の技術をさらに磨きをかけ、
>クライアントの業務効率化・経営刷新・次世代製品の開発に貢献していきたいと考えています。
だって。
>>432 で、零細企業の企業概要のコピペに何か意味があるのかと?
httpd へ渡す前に、アク禁判定をするとかってどでしょう?@tcpserverの如く。 itad・・・ふと思い付けだけれども、、、 bbs.cgiは書き換えられた .dat をキュー用のディレクトリ放すだけ。 datd なりでせっせと、/dat/に投げつける。 read.cgiは、キューを見ながら/dat/*.dat を取得みたいな。 もしくは/dat/*.datのスティッキー立ってるとかみて・・・ ・・・書いてて頭が回りません。寝てからもう一度考え直してみますm(_ _)m
サーバでアク禁判定するから処理が重いんだ。 ならば、いっそクライアントに処理させれば...
火壁であく禁とかはありだろうか…
>439さん F.W.っていうか、ルータレベルではroot権限が無いからできない、って、以前御大将が言ってたです。
iptableのレベルでは?
サーバ自体もroot権限無かったんじゃなかったでしたっけ? # ユーザ権限で入れられるようだったらスマソ(汗
何か愉快なbbs.cgiがはいったよーで・・・ とりゃーえずこのスタイルで統一の予定っすか?
445 :
名無しさん@お腹いっぱい。 :03/06/13 23:14 ID:YiXKhO8K
>>1 は2ちゃんねるの管理人のひろゆきか、
2ちゃんねるで飯食っているやつだろ。
一般ユーザーを装って情報を集めるのはやめろ。
月収400万円あるくせにやり方が汚い。
――--、..,ヽ__ _,,-''
:::::::,-‐、,‐、ヽ. )ノ _,,...-
:::::_|/ 。|。ヽ|-i、 ∠_:::::::::
/. ` ' ● ' ニ 、 ,-、ヽ|:::::::::
ニ __l___ノ |・ | |, -、::
/ ̄ _ | i ゚r ー' 6 |::
|( ̄`' )/ / ,.. i '-
`ー---―' / '(__ ) ヽ 、
====( i)==::::/ ,/ニニニ
446 :
名無しさん@お腹いっぱい。 :03/06/14 00:02 ID:bCeM6csk
>2ちゃんねるで飯食っているやつだろ 安心しろ、そんなやつはいない。 >月収400万円あるくせにやり方が汚い また騙されたんですか・・・。人のいい方ですね。
>>446 このコピペ夜勤の巣にもあったよ。
アンチさん着々と勢力伸ばしているようで…
問1
>>445 で
>>1 を書いたのが管理人側とするとその理由は?
問2
>>446 で
>>1 を書いた◆Chacha.PkAが一度も顔を出していないのはなぜ?
>>1 を書いたのが管理人側でないとするとその理由は?
問3
>>445 で
管理人の月収が400万円とするとその理由は?
問4
>>446 で
管理人の月収が400万円でないとするとその理由は?
>>448 ねね、あなたは本当にその答えを必要としているのん?
450 :
すりりん :03/06/20 20:28 ID:zMrAYCmG
7億の損害賠償請求をくらえば破産するだけ。 月収400マンも、4マンも一緒さ。
「ひろゆき」氏は良く言えば象徴天皇、悪く言えば傀儡。 しかし、裁判の時は正面に立たされるようになっている。 「2ちゃんねる」で実質的に金を稼いでいるのは「夜勤」氏。 やっぱ、狡猾だよな。
ありがとさーん
454 :
:03/06/27 20:26 ID:BPJO/3Tm
456 :
本7 ◆G9ghpzCTiA :03/06/29 00:40 ID:rM4m3tXs
ノイズ飛ばしに来ました。 今手元の鯖運用してますが2ch様式で動くPHP作りました。 bbs.cgiにあたるbbs.phpを分散処理化して必要に応じて必要な処理パーツ(ライブラリ) を取り込む設計です。1つのプロセス内で必要のない部分は取り込まないので小さいです。 あと処理も強烈に早いです。あと、今作ってる部分ですがindex.htmlの生成をしないように します。ページデザインは固定なので各ダイジェストをindex.phpが取り込む 設計にしてbbs.phpは細かい部品とdat、subject.txtだけ生成すればいいようになります。 まれにしか使われないであろうsubback.htmlもPHPによってsubject.txtから生成させます。 もしくはsubback.phpをヘッドラインに取り込みTOP50とかだけ表示する事も可能にさせよう かとも思ってます。これで全体の処理から1つパートを減らせれます。
457 :
本7 ◆G9ghpzCTiA :03/06/29 00:49 ID:rM4m3tXs
ディスクI/Oの部分ですがWIN環境のテストなんで比較になりませんがあらゆるデバイスを用い て負荷の具合を検証してみました。 ATA100HDDが結構早かったですが一定条件を満たす限りCD-ROMが最速でした。 その条件は常にディスクが回っている事です。スタンバイ状態からではモーターの動き出す時間 が大きいですが頻繁にアクセスがある限り非常に早かったです。おそらく40倍速の読み出し速度 と内部キャッシュの効果が大きいのだと推測しています。静的ファイルを置くデバイスがHDD以外 に分散される事よりHDDの負荷が非常に下がるのもあるのではないでしょうか。 あと、これは冗談のつもりですがDelphi、Klix等の簡単なソースでネイティブコードが吐ける言語 でソケットごとBBSプログラムにしてみてはどうでしょうか。成功すれば飛躍的な速度アップしいて は負荷低減になるんじゃないでしょうか
ノイズ=電波
460 :
:03/06/29 08:45 ID:5dXwwH2B
たたき台を作る予定の人が、、、
Perl のお話ですが。 .br とかそのへんの変なドメインを切るために、 $host =~ /\.(\w+)$/; $domain = $1; とかやってみるとか。 このへんやっといて、 if($domain ne "jp" && $domain ne "net"){ Error("ERROR!","なんか変なホストやでっ!!"); } とかやったらいちいち正規表現に当てないから速くなりそう。 今どうやってるんか知らんけど。 PPP225.hyogo-ip.dti.ne.jp とかなら $domain に jp が入るし、 逆引きできなかったらリモートアドレスの数字が入るんじゃない? これで逆引きができてるかどうかまでわかっちゃうじゃん!! if($SETTING{BBS_RAWIP_CHECK} && $domain > 0){ Error("ERROR!","ホスト名が逆引きできへんでっ!なんとかしてや!!"); } 数値比較にすれば正規表現使わなくて済むよね。 文字列を対象にしたら 0 になるし。 規制関連のお話もいいですかね。 リモートホストで分けるんじゃなくて、ファイルをリモートアドレス別にしたらどうでしょう? 最初の . までのファイルを作成して、そこでマッチングするって感じの。 211.132.89.225 なら 211m.cgi と 211e.cgi か何かふたつ作るんですよ。 # . まで取得 $ENV{REMOTE_ADDR} = /^(\d+)\./; $top = $1; # 完全一致用 open EQ, "$top"."e.cgi"; while(<EQ>){ if($host."\n" eq $_){ # byebye!! } } close EQ; # マッチング用 open MATCHING, "$top"."m.cgi"; while(<MATCHING>){ chomp; if($host =~ /$_/i){ # byebye!! } } close MATCHING; 長くなってしもうた…。
462 :
本7 ◆nfZ/Qirp0s :03/06/29 09:58 ID:rM4m3tXs
アク禁リストなら階層型DBにして判定させるのを今作ってます。 アク禁リストツールを用意し、そのリスト自体はリモホを分解してディレク トリ名をたどって最小限の検索数にさせます。リモホISP単位で禁止する場 合はそのディレクトリにフラグ変わりのファイルを置いておきます。 例えば 0123456.il48.net 9876543.bahoo.net hogehoge.mkh.nesh.ne.jp を禁止に設定した場合ディレクトリ構成を net -- |--il48 -- bahoo jp --- ne -- nesh mkh --- とします。で、個別に禁止いたい場合は
463 :
本7 ◆nfZ/Qirp0s :03/06/29 10:00 ID:rM4m3tXs
何か変になった net -- |--il48 -- bahoo jp --- ne -- nesh mkh
464 :
本7 ◆nfZ/Qirp0s :03/06/29 10:04 ID:rM4m3tXs
で、個別の場合は net -- |--il48 ・・・ 0123456.bad -- bahoo ・・・ 9876543.bad jp --- ne -- nesh -- mkh ・・・ hogehoge.bad とします。このファイルの存在の有無で判定させるので動作は一発です。 ディスクI/Oへの負荷は免れませんが最小限の動作ですとは思います。 ファイル内に禁止理由や期限等の情報を保持させ一定期間が 経過したら削除させるようにします。
うぜー。
本7 は荒しなので、NGワードにしてください
467 :
本7 ◆nfZ/Qirp0s :03/06/29 10:35 ID:rM4m3tXs
PHPで申し訳ないですが検索と判定は $hdat = split('\.',getenv('REMOTE_HOST')); $t = count($hdat); $hpath .= $hdat[0]; for($i = 1;$i < (t-1);$i++){ $hath .= $hdat[$i]; } if(file_exists($hpath){ print "ISPでゴルァ"; exit; } if(file_exists($hpath.$hdat[$t]."bad"){ print "リモホでゴルァ"; exit; } みたいな感じで
↑改行多すぎ うざい
あぼーん
・・・
472 :
動け動けウゴウゴ2ちゃんねる :03/07/06 12:03 ID:ftmKo8r1
とりあえず、今問題になってるのってI/Oの問題と、ホスト判定の部分ですか? ちょっと思いついたことを書いてみます。がいしゅつだったらごめんなさい。 ●subject.txtのI/O問題解決策 ・subject.txtをメモリディスクに移す ・subject.txtのリアルタイム更新をやめて、subject.txt管理用のdaemonを立てて、 10秒おきとか定期的に自動更新。 ・subject.txtにアクセスが集中してるなら、それ専用のproxyを立ててそこにforwardさせる ●ホスト判定問題の解決策 ・ホスト判定専用のdaemonを立てて、bbs.cgiはそこに御伺いを立てるように変更する ・そのdaemonはUDPで動くようにしてネットワーク負荷を軽減(←大きな効果が出るかは疑問)。 ・daemonは、一旦判定したホストをキャッシュしとく。エントリのexpireまではキャッシュを使う。 ・ようするにDNSみたいなもん。DNSよりむしろ、スパム除けのORDBに近いか。
473 :
:03/07/06 15:28 ID:N2lBIdmN
ホストマシンの操作に関してはなんか制限があるらしいぞ。 ××モジュールを入れれば?って言ってもなんか言葉を濁されるし
475 :
:03/07/06 16:01 ID:N2lBIdmN
カーネルとかモジュールレベルの話じゃない。 ソフトをコンパイルしていれて/etc/resolv.confを書き換えろ。という程度の修正だよ。
いや、Apacheモジュールの話なんだけどw
477 :
:03/07/06 21:43 ID:N2lBIdmN
なるほど。 まぁ貸しサーバとしては、Apacheモジュール>>>squidやrbldnsのインスコって難易度だと思う。 ようするにapacheが特殊な設定だと管理がめんどくさいんでしょ。 別ソフトをインストールするのはそれよりも何とかなりそうなもんだけど。
478 :
動け動けウゴウゴ2ちゃんねる :03/07/11 05:40 ID:46q/7Zkj
http://qb.2ch.net/test/read.cgi/operate/1057606841/887 887 名前:ボツリ[sage] 投稿日:03/07/17 18:10 ID:OEPRA3dJ
あとちょっと news2 を観察していたんですけど
p.i r.i のリクエストが結構ありますねー
bbs.cgi = 1/3
read.cgi = 1/3
携帯 = 1/3
負荷をかけている割合はこんな感じのようです。
that鯖のbbs.cgiの様に、携帯用のhtmlもbbs.cgiで作ってしまってはどうでしょう?
1及び最新10レスで。
これで携帯からの負荷がかなり減少するような気がします。
とするとあれだなぁ、最新10件分くらいをhtmlで吐き出して、 それ以降のを読みたい時はr.iを使わせればいいことになるんだけれども。 #つか携帯用なんてわざわざ2chの使わなくても他のサイトにもあるけどなぁ。
2chブラウザを推奨するなら板トップは subject だけで良さそうな。。。
483 :
:03/07/18 16:45 ID:M1dsBs4X
2chブラウザをインストールしないやつは、どんな困難をあたえても絶対にインストールしないので、かえって本文を読み込む負荷が増えると思われ
>>481 ですねー。
今の p.i のシステムに近いです。
html/の各htmlを作成しているルーチンがあると思うのですけど、
その部分で携帯用にも整形された、**********.htmを作成する処理を追加という感じで。
で、i/index.html の各スレッドリンクもその**********.htmに変える、と。
html/
┣ **********.html (index.html作成用)
┗ **********.htm (携帯の最新10レス用)
i/
┗ index.html (**********.htmへリンク)
もし実現した場合、このスレとは関係なくなってしまいますが、
r.i の「新10」のリンクも**********.htmへリンクすると更に効果がありますね…
bbs.cgiの処理的にはI/Oが増えてしまいますけど、
r.i 起動の減少がかなり見込めると思うです。
しかしこれ容量食うよな。一つのスレッドに対して、 dat/$key.dat html/$key.html html/$key.htm read/$key.html 4つ必要なんだべ。 削除スクリプトにも改変必要だろうし。 (まぁreadほどには呼ばれないのかもしれないけど。
htmに関しては大きくて1ファイル平均2KBくらいでしょうか。 ブロックサイズは1kbと仮定して、800スレッドの板だと 800 * 2 / 1000 = 1.6MB程度だと思うです。 そう言えば削除スクリプトにもthat鯖と同じような改変が必要ですね。
html/の中に1600もファイルがあるのはよろしくないので、 ディレクトリも別に作る必要がありますね…
ふむ、容量はそんなモンか… dat/$key.dat html/$key.html i/$key.html read/$key.html これでいいんぢゃない? i-mode用のはiの中にヴチこんじゃえば。
ですねー。 あ、ちょと弊害を思いつきました… この方法だと、r.i、p.iが止まっていても、上位30スレは閲覧できますよね? ということは、無駄な空揚げ(PCの人が携帯の人のために)とか、 人大杉規制の効果がほんのちょっとダウンしてしまうとかあるかもです。 r.i は起動できないのでカキコミは出来ませんが…
ありゃりゃ、知らなかった〜 効果が無かったか、もしかすると削除関係が原因でかもしれないですね
492 :
動け動けウゴウゴ2ちゃんねる :03/07/19 03:55 ID:urer/SUP
ちまちまつついてないでそろそろ成果物あげたらどうなんですか?
r.iはどうなんでしょう? 多分、これもごっそり変更しないと駄目のような、、、 無駄が大杉だと思うんですが?
494 :
ピロリ :03/07/23 19:52 ID:C7CgQ8Pm
>>492 ちまちまつついてないでそろそろ成果物あげたらどうなんですか?
497 :
萌ヌレ2 :03/07/24 20:26 ID:hM+scXrK
素朴な疑問 何故、書き込みをした後、板一覧まで表示するのか? 専用ブラウザ用の帯域はどうしてるのか? r.iはどこにいくつ走っているのか? 本気で変える気があるのか?(w
>>498 素朴な疑問と最後の煽りとの接点が分からんのだが。
疑問が解決したら俺が作ってやるぜ!ということか。
俺は知らんので、誰か、彼に教えてあげて。
板トップページ( bbs.cgi が作成する index.html )があるから大変なわけで、 無くしてしまえば相当負荷が減るでしょう。 ついでに read.cgi も全廃。 r.i は可哀想だから残しておくの(w 猫は暑くて重たい。
西村はindex.htmlは無くしたくないみたいだけど 閲覧ツール利用者の多い板にとっては邪魔でしかない あと、スレ(read.cgi)に直接書き込む場合はindex.htmlより 同じスレの新着レスを表示してくれた方が使い勝手がいい こう言うと2chの仕様をよく知らずに連投を心配する者が出てくるが 今の仕様でもブラウザからの連投はある程度は可能だし、 ある程度は防いでくれているので問題はないだろう index.htmlを見たくなったら■掲示板に戻る■押せばいいわけだし
index.html を i/index.html 形式にしちゃうとかね。 subback.html も見づらいだけだし、2chブラウザでは洋なしラ・フランスだし。
bbsに書き込んだ後、そのスレ欄に戻るような(一般的な)システムだと、 リロード(更新)すると二重書き込みになってしまうのである。 小規模サイトなら「二重書き込みですか?」とするのは簡単だが、 大規模な2chではその処理すら大きな負担になってしまう。 だからindexに飛ばすようにしているのだ。 と俺は考えている。
>>504 残念ながら既に使っておりますm(_ _)m
これだけ大規模になったにもかかわらず 2ch とは http でしかお話しできないって云うのも問題なのかも。
・・・でもスレタイとは逸脱しますねスマソ
507 :
動け動けウゴウゴ2ちゃんねる :03/08/03 16:21 ID:rDKHwNsf
___ ___ ___ ___ 朝鮮ウォーズが来〜るぞー♪♪ /o__⊥ /o__⊥ /o__⊥ /o__⊥ 母ちゃん達には内緒だぜー♪♪ ∠√,,゚Д゚)∠√,,゚Д゚)∠√,,゚Д゚)∠√,,゚Д゚) |つ | |つ | |つ | |つ | | _,,⊃ | _,,⊃ .| _,,⊃ ..| _,,⊃ し' し' し' し'
508 :
秋水 ★ :03/08/12 14:22 ID:???
プロ串規制、ポートチェックの巻 sub proxy_connect { my ($port, $ping) = (@_); my $inad = inet_aton($ENV{'REMOTE_ADDR'}); eval { local($SIG{ALRM}) = sub{ die "Alarm...\n"; }; alarm(2); socket(SOCK, AF_INET, SOCK_STREAM, 0) || die "Stream...\n"; connect(SOCK, sockaddr_in($port, $inad)) || die "Connect...\n"; select(SOCK); $|=1; select(STDOUT); close(SOCK); die "Out!!!\n"; alarm(0); }; close(SOCK); if ($@ =~ /Connect/) { return ( 0 ); #}elsif($@ =~ /Out/o){ #return ( 1 ); #}elsif($ping){ #return ( 0 ); }else{ return ( 1 ); } }
>>508 ほうほう。
それが現在使われてるもの?
>>509 そです、
ポートチェックに使われているサブルーチンです。
>>510 #}elsif($@ =~ /Out/o){
#return ( 1 );
#}elsif($ping){
#return ( 0 );
}else{
return ( 1 );
}
ここら辺最近変更しました?
Proxy使ってないのに〜 スレに被害者が続出してるんですが。
どうなんでしょうね 変更されているのかな? 変更の経過とかは知らないんだけど 現在はこれです。
>>512 コメントになってるところ復活させてみてもらえませんか?
どうもそこが原因で海外の人とかが引っかかってるっぽいんで。
qb だけ 20030813 になりました。
>>513 を反映。
>>514 どもです。向こうのスレに書いてきます。
駄目ぢゃん
>>516 んむ?
これでも書き込めないとゆう事でござるか?
>>517 フシアナなしでは書き込めない(´Д⊂グスン
519 :
負け組 :03/08/14 06:45 ID:DYbnjygR
●買っちまった(´Д⊂グスン
520 :
h216-18-1-121.gtconnect.net :03/08/14 06:50 ID:aEEkYsHo
>>514 qbだけじゃなくて、全部それにして〜(T_T
>串規制ルーチンについて。 508のプログラムのeval部分の動作: ・ルータ設定がrejectだと"Connect..."が$@に。 ・ルータ設定がrefuseだと、繋がらないためconnectはずっと待ち、 アラームが鳴って"Alarm...\n"が$@に。 ・ルータ設定がそれ以外の時は、 串などがそのポートで動いていたら"Out!!!"が$@に、 串などが動いてなかったら"Connect..."が$@に入ります。 そのため、その下の部分では$@をチェックしてますが、ここでは単純に ConnectかAlarmが$@に入ってたら問題なし(return 0)、それ以外だったら エラー(return 1)って具合にはできないのでしょうか? 現在Connect以外はエラーとなるため、refuseやstealthなどの場合に 問題が出ています。 一方、コメントアウトされてる部分ですが、ここでは、「Connectは問題無し、 Outはエラー、それ以外で$pingが1ならOKだけど0ならエラーってなってますね。 この$pingっていうのはどういう変数なんでしょうか?これが重要な変数で、 普通は1になってるなら、このコメントを解くだけでrefuseやstealthでも問題 なくなりそうなのですが、、、。 以上、508のプログラムについてのコメントでした。
522 :
●●● :03/08/14 07:55 ID:DYbnjygR
・・・・まさか●買うの焦りすぎた?(´Д⊂グスン
523 :
521 :03/08/14 08:06 ID:MwNECvri
もれも●買ったよ。datも読めるので便利なのさ。 そうあんま読む必要ないけど便利なんだから買った意味があるんだ… 悲しくなんかないやい。(´Д⊂グスン
>>521 $ping は通常NULLです、
こんな感じ。
proxy_connect('8080');
>>524 $ping の初期値を1にするってのはまずいですか?
意味があって使ってんだろうに
ちょっと軽くなっちゃうような、、 Alarmの時はスルーした方がいいような気もします。
530 :
521 :03/08/14 14:14 ID:MwNECvri
>524 それだと$pingはundefですから、0の時と同じように動作しちゃいますねえ。 つまり508のコメントを外しても、動作は変わりません。 なんで>520さんはこれを全鯖やって欲しいっていったんでしょう。 >527 スルーってのはどっちの意味ででしょう。Alarmの時は何時も問題無し (return 0)にするという意味のスルーだと嬉しいです。ただ、>526さんが いうように、これまでAlarmをエラーにしてたのには何か理由があったの かもしれませんし、難しいですね。 僕の個人的な意見ですが、現状、「rejectはOKだけどrefuseは駄目」という 具合に区別する理由が想像すら出来ないので、誰かが間違ってそうした という理由が想像できることもあり、過去がどうであれ、Alarmの時は 何時も問題なしにするのがいいんじゃないかと思います。以下みたいに。 if ($@ eq "Out!!\n") { return 1; } else { return 0; }
いや、俺のは $ping の話ね。 それも 528 の返答もらったからノープロ 俺も Out!! だけをアウトにして他は通してくれたほうがいいなと思う
>>530 >スルーってのはどっちの意味ででしょう。Alarmの時は何時も問題無し
>(return 0)にするという意味のスルーだと嬉しいです。
あ、そゆ意味です。
なるほど、、
Outだけですか、
ふむふむ。。
if ($ping) return (0); # さいしょに $ping をチェック if ($@ =~ /Out/o) return (1); # Out のときはご愁傷様 return (0); # それ以外はセーフ
元々が、ポートチェックの例文丸写しだったからねぇ。 諄いようだけど串をチェックしたところで荒らしは減らないと思うんだけれども。
>>533 その用に書き直せば goo なのかな?
536 :
521 :03/08/15 01:58 ID:Vedbfmgz
>533の最初の行の$pingチェックは意味ないので必要ないよ。 下手な物残してバグやセキュリティホールみたいなのに なるくらいならさくっと消しましょう。 昔どう動いてたかを残したいなら今の奴をコメントアウトして 残せばいいんことですし。
537 :
仕事人 ★ :03/08/15 02:16 ID:???
if ($@ =~ /Out/o) return (1); # Out のときはご愁傷様 return (0); # それ以外はセーフ こうすれば良いのかな? それでこの規制はかなりの効果をあげているんだけど 効果は損なわれない?
538 :
レポート :03/08/15 03:35 ID:AiH3OAPt
PROXY規制中!!(8000) 8000番ポートが空いてます。PROXYとみなされる場合があります。 ホスト219.***.***.***.user.rb.il24.net 名前: ””削除””をお願いします E-mail: 内容: test ルータでReject設定ができないので(フィルタ設定画面がない) 現在はポートをあけてWInXP側でフィルタリングをしています。 でも本当は開けるのイヤなのです。ぐすん。
539 :
521 :03/08/15 05:02 ID:Vedbfmgz
>537 それでいいです。 「この規制」ってどんな規制のことですか? ポートをチェックして開いてたら蹴るという規制なら今後も変わりません。 それ以外の、ポートは開いてないのに、ルータがrefuseしてると蹴る という理不尽な規制が解除されます。詳しくは521で説明した通りです。
540 :
仕事人 ★ :03/08/15 05:21 ID:???
了解です。 どもありがとうございます。 さっそく入れてきます。
20030815b
542 :
仕事人 ★ :03/08/15 05:31 ID:???
bbs.cgi ver 20030815b
仕事人さん、もう導入されたみたいですね。
お疲れ様です。
●ログインせずに試してみました所、エラーも出ず、
「書き込みできました」となるのですが、実際には
書き込んだ内容が反映されませんでした。
一方で、PROXY使ってないのに「PROXY規制中!」23スレ
http://qb.2ch.net/test/read.cgi/operate/1052752592/ ではこれでうまく書けるようになったという人もいらっしゃる
ようなので少しは良くなったんだと思います。
この「エラーが出ないのに書き込めない」という問題は僕の所では
8/5に始まりました。8/6にはrefuseなのに開いてるエラーが発生した
のでそちらにかまけてたんですが、どうやら、この「エラーが出ないのに
書き込めない」問題はまだ残ってたようです。影響を受ける人は少ない
のが、せめてものすくいですね。
質問なのですが、proxyチェック以降で、何かチェックして書き込みを
行わないといったことをbbs.cgiでやってませんでしょうか?
insightbb.comには串も幾つかあるようで、ポートスキャンだけじゃない
もっと直接的な串規制か何かに引っ掛かってるんだと思います。
もし何かご存知でしたら、教えてください。
545 :
動け動けウゴウゴ2ちゃんねる :03/08/15 11:09 ID:y/kYe+0B
>>542 >>537 で懸念されていたように、和串も洋串も使い放題になりました。
このまま串の使い放題なんですか?
546 :
521 :03/08/15 12:34 ID:Vedbfmgz
…もしかしてエラーがでて動いてないとか? 545さんの発言を見て、試してみたら、 if ($@ =~ /Out/o) return (1); # Out のときはご愁傷様 return (0); # それ以外はセーフ だとコンパイルエラーが出ました。トホホ。 試さず539でそれでいいですって言った漏れが悪いのかな。 521で書いてた様に if ($@ eq "Out!!\n") { return 1; } else { return 0; } とすればコンパイルエラーはでないはずですが、、、。 それとも古いperlだとエラーは出ないけど動作が変とかなんでしょうか。 545さん適当な使い放題になってしまった串とか挙げれませんか?
それとも例えば現状8080をチェックしてないので、 全て塞いであって8080だけ串として空けてある串が使い放題になってしまう みたいな話であれば、これはproxy_connectを呼ぶ側の問題ですよね。 proxy_connect(8080)みたいなチェックをすれば解決します。 545さんの言う串素通し問題の原因が、コンパイルエラーなのか、 チェックしてないことによる問題なのか区別できないんで、 念の為書いておきます。
perl で描くのなら、、、 return ($@ =~ /Out/o) ? 1 : 0 ; 一回だけの判定なら別に 'o' 修飾子 は要らないような。。。
549 :
521 :03/08/15 14:14 ID:Vedbfmgz
それを言い出すと、切りがないから我慢してるのに。 ?使うくらいだったら、 return $@ eq "Out!!\n"; や return $@ =~ /Out/o; で終了。 漏れ的には return 1 if $@ eq "Out!!\n"; return 0; みたいなのが好み。条件増えてもあんま変更しなくていいからね。 ただ元が{}を使うスタイルだったので521みたいに提案しただけ。 oオプションは基本的にパターン内に変数がある場合に使うと速くなる。 /Out/みたいな定数だとあんま速くならない。でも微妙には速くはなるので有効。 でも実際の所漏れが何度も書いたようにeqにしたほうがもうちょっと微妙に速くなる。 でも、まあ、漏れのプログラムじゃないしどれでもいいやってことで、 「perlで書くなら、、、」みたいな提案はしなかっただけ。
ちょっとだけ訂正。提案したのは521じゃなくて530でつた。では。
サーバ同士で負荷分散なんてできないんですか? C言語の基本すらよくわかってないC言語超初心者のレスだが
552 :
:03/08/15 19:39 ID:CAUGcnir
プロクシチェックと掲示板機能を別にすることはできそうだな。 rbldnsdみたいにIP番号で呼び出すと、正否を返すデーモンとか。
>>551 初心者ということに甘えないで、まずはしっかり勉強して
脱初心者してから書き込んでみてはいかがですか?
負荷的には $@ eq "Out!!\n" and return 1; が一番軽いんじゃなかったっけ。 その次 return 1 if $@ eq "Out!!\n"; その次 if ($@ eq "Out!!\n"){return 1;} まぁうろ覚えでよく覚えてないんだけど。。。
当時多発山崎(w に対しても何の効果もないよな。@串判定ぽーとすきやん
>>556 「当時」ってなんだよ。。。_| ̄|○
「同時」です。(´・ω・`)ショボーン
558 :
仕事人 ★ :03/08/15 23:22 ID:???
失敗だったのかな? もとに戻す?
あ、戻す前に
>>546 を試してみてからでも遅くないかな
561 :
仕事人 ★ :03/08/15 23:38 ID:???
0815b では勿論 {}でくくったです。 bs.cgi ver 20030815c if ($@ =~ /Connect/) { return ( 0 ); }elsif($@ =~ /Out/o){ return ( 1 ); }elsif($ping){ return ( 0 ); }else{ return ( 1 ); }
>>561 相変わらずnsb.nag.ac.jpは素通しです。
でもローカルでテストしてみた限りではちゃんと1が帰ってくるなあ
>>537 に{}を付けて試してもやっぱり1が返ってきますね。
ってことで、どこか別の場所をデグレードしてると思います。
565 :
仕事人 ★ :03/08/16 00:06 ID:???
>>562 気が付いてくれて、閉じてくれればいいなぁ
>>565 今までちゃんと弾けてたんだから
弾けないのは変です。
ローカルでのテストでも弾けるはずという結果が出てるし。
それにこれは一例としてあげただけで他にもいろんな串が
素通しになってると思われます
>>565 .nag.ac.jp で規制を掛ければ?
たとえば私は自宅鯖を公開していて80が開いてるので(しかも非JP) 生ホストでは●使わないと書けないはずなんですが今は書けますね。
>>567 むやみに規制リストを肥大させないように
ポートチェックで弾けるものは弾くべきだと思います。
あ、わかった。 nsb.nag.ac.jpって漏れ串ですね。 漏れ串は問答無用で弾く処理が20030815以前のbbs.cgiには (pc2とthatを除いて)入っていたはずです。 その処理がどっかに行ってしまったものと思われます。
よく考えたらjpだからポートチェックは掛けてないはずなんですよね。 でもこれで謎が解けました。
というわけで ・漏れ串を弾く処理を復活させる ・.nag.ac.jpを規制リストに追加する のどちらかをお願いしたいです。
nsb.nag.ac.jpだと、そもそも80ポートが繋がるんではじくはずなんですけど、、、_| ̄|○ 2chからのスキャンは繋がないけど他からは繋ぐみたいな 串の設定になってるってことなのかな。でもそれなら以前から 弾けてたはずですし。 そうすると、何か編集ミスをしたんじゃないかと疑ってしまうわけです。 proxy_connectはどんな風に呼ばれてるんでしょうか? >568 あう。確かめて頂いてども。 bbs.cgi変になってるってことじゃないでしょうか。
って、568の結論は間違いってことでしたか。それは失礼。 >・.nag.ac.jpを規制リストに追加する ってのは最後の手段として、ちゃんと動くよう修正していくほうがいいような。
575 :
仕事人 ★ :03/08/16 00:40 ID:???
tes
576 :
仕事人 ★ :03/08/16 00:41 ID:???
コスト(サーバ負荷)との天秤でして、 いろいろ嗜好錯誤を
>>574 JPはポートチェックの対象にしてないはずなんですよ。
だからJP串で書けないのは
・規制リストに入ってる
・漏れ串
のどちらかだったってことです。で、今は後者が無効になってると。
とか言ってる間に20030816が入って nsb.nag.ac.jpでは書けなくなったようですね。 お疲れさまです。
580 :
仕事人 ★ :03/08/16 00:57 ID:???
てすと
testはtestスレで
http→ttp強制変換ってやらないの?効果あると思うんだけどな、ぼっくん
>>576 = 仕事人 ★
お疲れさまです・・・
全鯖、無事に20030816となっています・・・
bbs.sgi20030816になって、
和串、洋串ともに規制される・・・
従来のbbs.cgi、例えば20030804から20030815まで
使用できた串も規制される・・・
>>583 串規制は全廃を所望しているんだけどねぇ。。。
連投規制を強化する方が効果が上がるのにのに。
>>582 まったくないと思うねんけどなぁ。。
それやったら http を ttp に変換するんやったら、
http:// 〜 をリンクに変換せーへんほうがええよな。
ひょっとして釣りかな
連投規制について
最新 $SETTING{timecount} 個のレスを記録するんじゃなくて、
最新 n 秒ぶんの書きこみを記録するようにしたらええんちゃう?
串を切り替えてこられても連投規制を回避できへんように。
PROXY規制について
環境変数 HTTP_CONNECTION のチェックはせえへんの?
PROXY判定ができる「診断くん」とかやったら、
ポートスキャンしてへんけど強いPROXYチェックができてる気がすんねんけど。
ブラウザからなら大抵 "Keep-Alive" が返されるし、
Monazilla からなら大抵 "close" が返ってくると思うねんけど、、、
串なら空欄が多い気が。
これをやってポートチェック外すとかは?
接続しない分の負荷が減りそうな気がする俺。
586 :
動け動けウゴウゴ2ちゃんねる :03/08/16 08:20 ID:lslJ8HsN
>585 専用プラウザからならttpからでもリンク先に飛べたりもする
何に対するレスなのかわからん
nsb.nag.ac.jpは8080でOutになってるんじゃなくて 80でAlarmになってるみたいですね。 つまりproxy_connectは815c相当の予感。 というか、nsb.nag.ac.jpは漏れ串なのに漏れ串チェックに 引っかかりませんね。どうなってんだろ
もしかして.jpだと漏れ串チェックもしないのかな?
さてさて、仕事人さんとか運営側の人は調整に忙しいみたいですが、
おいらは暇だったので、串リストチェッカを弄っておりました。
串リストチェックがなんで遅いかっていうと、
1000行ある正規表現リストを一個一個コンパイルして、
実行してるからなんですね。
逆の発想をしてホスト名で検索するとコンパイルする回数が減って
速くなるわけです。ただし、串リストに正規表現が使えなくなります。
それでも、bad-provider.co.jpみたいなドメイン全般での制限や、
a.b.d.co.jpみたいなホスト単位での制限なら可能です。
そういう串リストをこっちのチェッカで、残りのどうしても正規表現が
いる制限は
>>75 のルーチンで、なんて分けてやると大分軽くなるんじゃ
ないでしょうか。
DBの話とか上ででてたのでもういらないかとも思うんですが、
DB使わずperlだけってのもいいかと思い、書いときます。
手元て100000行の串リストを作って、これをスキャンさせてみた所、
0.312秒かかりました。ちなみに
>>75 でスキャンすると1.158秒かかります。
my(@global_domain) = ( 'org', 'net', 'com', 'edu', 'info', 'biz' );
my $pattern;
if ($HOST =~ /\d+\.\d+\.\d+\.\d+/) {
$pattern = "/" . $HOST . "/o";
} else {
my(@host_component) = split(/\./, $HOST);
my $common_component = 2;
$common_component = 1 if
grep(/$host_component[$#host_component]/, @global_domain) > 0;
$pattern = "/" . $HOST . "/io";
for ($i = 0; $i <= $#host_component - $common_component - 1; $i++) {
my $localpattern = "";
for ($j = $i + 1; $j <= $#host_component - 1; $j++) {
$localpattern .= $host_component[$j] . ".";
}
$localpattern .= $host_component[$j];
$pattern .= " || /" . $localpattern . "/io";
}
}
# print "PATTERN ... $pattern\n";
# compile it
$statement = "
while (<PHOST>) {
die \"error\\n\" if $pattern;
}";
open(PHOST,"<$pxck");
eval $statement;
if ($@ =~ /error/) {
die $@;
}
close(PHOST);
とりあえず、
・直リンは蹴る(ttpなら
>>586 だし)
・bbspinkは、ac.jp、go.jpからの書き込みを蹴る
をやって欲しいな
あ、>590は.を\.にしてませんでした。他にもquote処理してないや。 パターンを作成してる部分を以下のようにして下さいませ。 if ($HOST =~ /\d+\.\d+\.\d+\.\d+/) { $pattern = "/" . quotemeta($HOST) . "/o"; } else { my(@host_component) = split(/\./, $HOST); my $common_component = 2; $common_component = 1 if grep(/$host_component[$#host_component]/, @global_domain) > 0; $pattern = "/" . quotemeta($HOST) . "/io"; for ($i = 1; $i <= $#host_component - $common_component; $i++) { my $localpattern = ""; for ($j = $i; $j <= $#host_component - 1; $j++) { $localpattern .= $host_component[$j] . "."; } $localpattern .= $host_component[$j]; $pattern .= " || /" . quotemeta($localpattern) . "/io"; } }
593 :
:03/08/16 11:41 ID:8i7MOGzn
ハッシュ使えば……
>>585 > 串を切り替えてこられても連投規制を回避できへんように。
そもそも板単位でやるからみっともないことになっている悪寒。
鯖単位でやるともうちょっとこましになるかと。
連投チェック強化案。
・本文内容を一旦別変数に代入、s/\s|[全角空白(S-JISならば\x8140ほか)]//; で縮小。
・本文内容をバイト単位で加算などの演算(sum)
・その sum が存在するかを、/test/sum/ から検索。
→存在すれば連投規制。
→存在しなければ touch /test/sum/time.sum しる。
・/test/sum/date.sum は、crond で毎時数量チェック。規定数以上ある場合は古いものから削除。
極簡単に具体例。
# 本文加工@連投規制用
# IN $FORM{'message'} を受取る。
# OUT 1 で連投の疑い。 0 でスルー(リストに追加)
sub check_message_sum($){
my $sum;
$_ = shift;
s/\s| //g; # 空白文字類の削除。AA板では厳しい?
while(s/^.//){ $sum += ord $&; } # 単純加算。xor してもいいし、 crc にでも。
# sum データをひろう。
opendir(SUM,"/test/sum/") or die;
my @sum_data = grep { /\d+?\.(.*)/; $_ = $1; } readdir(SUM); # 多すぎるようなら制限してみるとか。
closedir(SUM);
# 一致するものがあれば連投と判定してみる。
return(1) unless grep { $_ == $sum } @sum_data;
open(SUM,sprint(qq(>%s\.%s),time,$sum)) or die; # touch しとく。
close(SUM);
return(0);
}
所感。
○ IP アドレスやリモホに左右されない。
○ time 値も記録しているので経過時間のチェックにも使えるかと。-C でもいいし。
! 鯖を超えて sum をチェックできると全鯖での連投検索が可能かも。nfs 絡み。
△ /test/sum/ が多すぎる(万単位)ようなら制限してみるとか。
× 実況板などでは耐えられるのか?
× /test/sum/ にアクセスできなくなると全停の悪寒。
そなのよネ 鯖単位に連投規制というか 本来は絨毯爆撃撃退法を考えないとね、 さすがにサーバをまたいでの撃退策までは コストが大きいので考えていないけどさ。
596 :
:03/08/17 06:31 ID:y5mDmFOi
わざわざPerlで作ってバグ作る危険性をおかすよりも、cdbにでも入れればいいじゃん。 連続ポストってのは本文のハッシュが同じだろうし。
>>586 bbs.cgi が
http:// 〜 を <a href="
http:// 〜"> に変換するかどうかが問題なんちゃうかなーと、、
>>594 >そもそも板単位でやるからみっともないことになっている悪寒。
>鯖単位でやるともうちょっとこましになるかと。
確かにそうかも…
だいたい鯖別に板の分類がわかれてきてるし設定はしやすそうな気が。。
>>595 今いちばんの問題って荒らし対策ってことやんな?
重複投稿規制を強くしたらなんとかなりそうやけど
また別の方法をとってくるやろから一時しのぎにしかならへんよなぁ。。
やっぱ串規制の見直しが大事ちゃうかなーとか思ってみた
さんざんがいしゅつならすまそ
(・A・) (・H・) (・∀・)
串規制の見直しか… どこまで効果があがるか…。
bbs.cgi のソースはどこにありますか?
お好み焼きにかかってますよ。
( ・∀・)つ〃∩ ヘェーヘェーヘェー
月収500万のえろゆき。金がないと騙して情報集め。 得られる利益は自分のもの。
20030818a はなにが変わったの?
>>594 ・記号類も省いたほうがいいでしょう。
・行数が多いときは最後の一行を無視するようにしたほうがいいかも
606 :
動け動けウゴウゴ2ちゃんねる :03/08/19 03:15 ID:S6LYHIvI
現在2003/08/19 02:00 、bbs.cgiが20030818cにアップデートされていない板:
off.2ch.net
society.2ch.net
live5.2ch.net
news4.2ch.net
bubble.2ch.net
live6.2ch.net
sports5.2ch.net
live7.2ch.net
hobby4.2ch.net
2chplus.2ch.net
以上、20030818bとなっています・・・
http://www.domo2.net/system/ver.html
607 :
動け動けウゴウゴ2ちゃんねる :03/08/19 19:29 ID:p4DlVCkp
URLの連投を規制できないでしょうかね? 広告の爆撃に絶大な効果があると思います
608 :
動け動けウゴウゴ2ちゃんねる :03/08/19 21:10 ID:S6LYHIvI
>>608 だれも書き込んでいない予感。。。 < oyster
なるほど、書き込まないとindex.htmlが更新されないわけか
誰も書き込まない板… それはそれで…(汗
612 :
動け動けウゴウゴ2ちゃんねる :03/08/20 05:13 ID:BVr6bEZU
現在2003/08/20 05:00、bbs.cgiが20030819cにアップデートされていない板:
sports5.2ch.net
live7.2ch.net
off.2ch.net
society.2ch.net
live5.2ch.net
news4.2ch.net
bubble.2ch.net
live6.2ch.net
pc4.2ch.net
hobby4.2ch.net
2chplus.2ch.net
以上、20030819bとなっています・・・
http://www.domo2.net/system/ver.html
どう更新したんか知りたいです、先生方
>>613 公表すると荒らしさんがゴニョゴニョするので非公開かと思われ。
未承認、未承諾どっちだっけ?(w
それ以前に※は未承諾広告の「後ろ」に付けるんですよ
そうか、、、きっと、不適当なエラーメッセージもきっと嵐対策なんだな 馬鹿らし
>>594 samをDB_Fileに格納してみたら?△が○、×が△くらいになるんじゃないかな
?
619 :
618 :03/08/20 22:45 ID:IjuscfBO
板またぎで連続投稿規制強化すれば広告とかコピペ荒らしに随分効き目ある んじゃないかと思った次第で・・・。 そして現在迷惑を被っているリモホ制限の原因もこれで遮断できそうな気が するわけで・・・。(しかたないのでこれも携帯から書いてるわけで・・・) そして山崎もご臨終なわけで・・・(w
>>619 あまり書きたくはないけれども、コピペの最後にでも昇順の数字を書きこめばスルーになっちゃうのであーる。
621 :
618 :03/08/20 23:08 ID:p2uy/UXC
単純にハッシュ比較やっちゃう方法だとそれはそうなってしまうと 思いますが、適合度が95%以上ならほぼ同じ内容と見なす。 みたいな検査方法で効率が良いアルゴリズムとか方法(例えば正規 化などの手法)ができれば良いんじゃないかな? と思います。 しきい値をどう仕切るかは、もう少し検討必要かと思いますが。 (・・・リモホ制限回避、正直面倒・・・)
エディットグラフか、、
623 :
618 :03/08/20 23:47 ID:av7gyXDq
>>622 へぇ・・・なるほど、初めて聞いたのですが、世の中頭の良い人っているもんですね・・
良くこんなの思いつくって言うか、すげぇです。面白いです。勉強してみよう。
>>622 多バイト文字だとちょっと辛そうですねぇ、、、
7bits に変換してから・・・イマイチ。
圧縮的辞書作って合致率が・・・眠たくなってきた (゚∀゚)アヒャ
625 :
618 :03/08/21 00:04 ID:kSdzqLqE
>>624 エディットグラフ、なんとなくわかってきたような、わかんないような・・・
文字として考えるより、データストリームとして捉えるのが良さそうですよ。
626 :
:03/08/21 00:15 ID:jz3Pb5G6
山崎は別として、エロ業者の広告はurlが確実にあるわけでしょ。 そのurlでNGリストを作ってサーバー間で同期すれば、最初の数時間はダメでもそれ以降は防げるのでは。
627 :
618 :03/08/21 00:24 ID:kSdzqLqE
>>626 URLリストのメンテナンスにコストが掛かる割には、効き目が遅いのが欠点ですね。
数時間あればかなり蔓延してしまいますし・・・。外部URLを抽出したらインクリメント
しておいて、ある回数以上貼られたら禁止にするって手は即効性ありそうですが、
ダミークエリーストリングなどで逃げる事も可能なので・・・。
>>626 そのリストがどれくらい長くなってるかご存知ですか?
629 :
618 :03/08/21 02:09 ID:kSdzqLqE
エディットグラフの欠点は比較対象が1対1の差異検出には使えるけど、 1対多の比較、つまり、現投稿(1)と過去投稿(多)の同一性比較には向 かなさそうだな・・・。
630 :
618 :03/08/21 02:18 ID:kSdzqLqE
>>629 同一性ではなく類似性ですね。。。厳密には・・・
卒研一本できそうな予感(w
クライアント側で統計フィルタの方が楽だと思われ。
633 :
618 :03/08/21 10:16 ID:kSdzqLqE
>>632 サーバー側の実装でないと根本的な問題解決にはならないのでは?
多重連続投稿規制については、無駄な書き込みがされてしまうこのへの防御
と、無駄な転送トラフィック削減の両面から考えてサーバー側で必須の実装
といえますね。
それと、一般的なサーバーの設計・実装においても、クライアントに特定機能が
あることを前提にしてはいけないというのが原則ですし。
634 :
618 :03/08/21 10:27 ID:kSdzqLqE
>>232 もうひとつ、スタンドアロンで考えれば確かにクライアント型フィルタの方
が簡単かも知れませんが、刻々と変わる手口に対応して、制限解除、制限強化
などの一括制御を行うのはサーバー側でやるほうがずっと楽(というかサーバー
側でやらないと事実上不能)です。
ネットワークアプリケーションのフィルターはそれを確実にやらせようとすると、
アップデート機構が大掛かりになるのでなかなか難しいですよね。
ネットゲームとかアンチウィルス張りのアップデートプログラムが必要です。
●を買わせるには良いかもしれませんけど(w
635 :
618 :03/08/21 10:28 ID:kSdzqLqE
■ 規制解除要望スレッド 6スレの
http://qb.2ch.net/test/read.cgi/operate/1060966615/316です 。
串チェックでrefuseやステルスが引っ掛かってた問題も
解決したっぽいので、今の「規制串リスト」に入ってる串も
チェックできるよう串チェックを改良することはできないので
しょうかという問題提起をしにきました。
海外のcatv系に多いようなのですが、「規制串リスト」にドメイン毎
入れられてしまい、書き込んでみても「『書き込みました』と出るだけで
書けてない」という問題で、2chに書き込めないという人を時々見掛けます。
そういう人を救済&僕自身も救済みたいなことを考えて、この問題定期を
しにきました。
想像するに、わざわざ「規制串リスト」を作ったということは、従来の串
チェックでは引っ掛からなかった串があったということですよね。
そういう串にどういう串チェックをすればいいのかを考えるためにも、
「そういう『対処できなかった串』の例」ってのを一つ二つ公開することは
できませんか?
それが難しければ、「こういう串チェックをしたけど効果がなかったので、
〜した」みたいな対処した人のお話なんかでも聞ければ、と、思うのですが。
よろしく。
うるせーなこいつは
>>637 に同意。
636は自分ができることを何も提案せず、2chに対して要求するのみ。
海外ドメインからの荒らしを減らす方策をまずはおまえが考えろと。
日本のプロバイダに対して、規制→ユーザー&ISPとの間でお話→解除みたいな 流れもないのに、そもそも規制されてるかどうかすら誰も答えてくれないのに、 どうしろと? ま、煩いって言われるならしょうがない。また半月したら書きに来ますわ。
640 :
618 :03/08/22 14:49 ID:ohlIR1cB
すみません、教えていただきたい事(というより確認したい事)があるんですが なぜプロクシ制限がなぜ必要なのか?について説明できる方お願いします。 常々思っていたんですが、プロクシ制限しか問題の解決方法は無いものかと。 どうしても、プロクシ制限に頼らないと解決できないものなのかと。 別のアプローチは取れないものかと。そのあたりを考えてみたいのです。 どういう現象が起こるから。というだけで結構です。よろしくお願いします。 例えば、荒らしなら、どんなタイプの荒らしがあるのか、体系的に示していた だける神あらば、1つづつ解決のアプローチを明確にしてゆけるのではないか と思いまして。
641 :
ピロリ :03/08/22 14:53 ID:aZ+MqSsW
四年の戦いの歴史。
代替案があるのかと思って読んだのに損した
なんか一人、議論厨?みたいのが紛れ込んでるね
>>640 2chの削除系の板の過去ログとか調べてみたら?
どれだけの血と汗と涙の上に築かれたシステムなのかを(かなり大げさ)。
>>640 >なぜプロクシ制限がなぜ必要なのか?
串刺して荒らしまわってるやつがいっぱいいるからだよ。
生IPは個人情報特定につながる可能性があるから、
荒らしさんは少しでも自分が特定される可能性を減らしたいんだな。
つーかあんた、そういう認識も無しにこのスレに来てるの?
ここのスレをいくつか読めば簡単に推測できそうなものだが。
646 :
618 :03/08/22 17:25 ID:ohlIR1cB
>>644 そうします。ありがとう。
解決のショートカットしようとする人には優しくないインターネットですね。
>>645 荒らしの行動特性からプロクシ以外の防御方法を考えようと思ってるだけです。
荒らしさんっていうのはプロクシ管理している方の身元、目的もわかんないの
によく足跡ぺたぺたつけて歩くんだな。と思いますよ。例えばそれが業者なら
ウラでどう結託してるかわかんないのに。
生IPつまり大手プロバイダ経由の方が、使う側の危機管理だって簡単。
法に触れることでもない限り、使用禁止措置を講じられることはあっても逮捕
状とか判決強制捜査でも無い限り、個人情報は外に出ない事になってるし。
あと、荒らしを、荒らしとして1括りにして考えるのもセンス悪い。
これだけユーザーが増えた今でも、荒らし=プロクシ規制で制御。っていうの
は進歩無いんじゃないかな。と思ったんです。 荒らしのタイプによっては、生
IPの方が安全との判断もありますし。その場合、プロクシ以外のフィルター系
対策じゃないと対策できませんでしょ。煽りとか、叩きとか、ソフトな粘着とか。
このタイプの荒らしにはこういう対策で望むのが効果的。という対策を体系的
に考えて実装検討してゆかなかったら、良いものなんて出来ないんじゃない
ですかね?
>荒らし=プロクシ規制で制御 これはもともとイコールで結ばれてないし >煽りとか、叩きとか、ソフトな粘着とか。 こんなもんになんの対策がいるねん。 ていうか荒らしじゃないし。 >このタイプの荒らしにはこういう対策で望むのが効果的。という対策を体系的 >に考えて実装検討してゆかなかったら、良いものなんて出来ないんじゃない >ですかね? じゃ、がんばってね。 2ch では常に 2ch にとって良い対策しかしてないし、しないだろうね。
648 :
:03/08/22 18:26 ID:4ZLVQ7K5
いま連続で宣伝を書き込むんだったら、freebitを使っているマンガ喫茶だよなぁ。
>>633-634 どうせ根本的には解決しないんだから、サーバはシンプルに保ってクライアントでカバー。
サーバ側で実装するなら、パターンマッチやリスト照合やフィルタではなく、
強制フシアナや TOMATO のようなヒューリスティックな手法を考えるべきだよ。
荒らしをいなくするという目的ではなく、
運営側が問題に対処しやすくする、
あるいは利用者への心理的影響を減らすという目的で考えてみてくれ。
>>649 そうなると http しか喋ってくれない 2ch をなんとかしたいですね(w
1000gex を宣ってた香具師に頼むか?(w
>>646 あなたが主張していることは、合ってるかもしれません。
でも、自分は正義なんだから皆協力しろ、という態度は、
2chであっても実社会であっても、間違いですよ。
あなたは、言ってみれば、現場の苦労も知らずに好き勝手言ってるお偉いさん
見たいなもんですよ。
>>651 「間違い」つーよりか「そゆこと云う人もいる」というところでしょうか。
あのほら某國さんもそんな感じだし、、、
精神的には「 2ch を荒すとえらいことになる」というのをみんなが認知できるようになると、
自ずと荒らしは減るとは思うのですが、それをどのようにして認知させるかが思案のしどころでしょうね。
串差して荒しまくる人にとっては remote host が晒されたところで何の効果もないと思いますし、
とある ISP に怨みを持っている人にとってはその ISP の remote host で荒しまくるのが効果的だし。
>>649 言ってることおかしくないか?
強制フシアナや tomatoなどのようになんらかを発動するために
パターンマッチやリスト照合などを行わなければならないのでは?
それに現在もtomato発動してもおかまいなしに荒らすやつや業者が
いるんだから、承知でやってるやつには効果ないだろう。
ああ、すま。 プログラムだけで何でもカバーできるようなものを目指すのではなく、 効果の高いところに(2ch的に困るところ)集中して適用して後は人手に任せるような方法がいいのではってこと。 もちろん前者でも画期的な方法があるなら否定はしないよ。
>>654 人の手をかけたくないから、プログラムで何とかしたいんだと思うけど。
それと、あっちもこっちも困ってるから、今の状態なんだと思う。
山崎ネタで荒らす愉快厨や、広告業者のスレage荒し広告にウンザリしてます。 この手の行為はどれも ・1スレッドに1回のみの書き込みを行う ・行為の効果を上げるためにageられる ・短時間に複数スレッドに書き込む という特徴があるのだから、カキコ内容によらず、書き込み者のIPごとに単純な 数値情報を用意するだけで解決できないものですかね。 ・ 書き込み者の情報として ○ 書き込み先のスレッドID、カウント値、カウント値のリセット日時 のみを生成・保持する ・ 前回カキコしたスレと違うスレにageカキコするたびに、カウンタ値を加算。 ・ 前回と同一スレに書き込むとカウント値をリセットし、リセット日時を更新 ・ ある程度の時間更新されていない書き込み者の情報は、どんどん廃棄 単位時間内のカウント値が大きいことで荒らしは検出できそうだけれど、こういう 単純そうな方法ですら実現できないほど、現状の負荷は厳しいものでしょうか。
>>656 山崎は串つかってるんちゃうかなー
毎回規制情報板に書かれへんし。。
>>657 そうらしい。
生でやってたら、とっくにプロバイダに通報されてる。
山崎が現に野放しになってる以上 いくら串刺しても意味ないと言い張っても説得力ないね
根本は串刺すのが悪いのではなく荒すことが悪いことなんだけどね。 あと bbs.cgi を握っているのが マ(ry しか居ないのも問題のような(w
つーか、read,cgiとbbs.cgi(+α)だけで人大杉になってる現状もあるからなぁ。 例の書き込みサーバとデータサーバの分割ができるようになったら、 いろいろなことができるようになるんだろうけど。
662 :
521 :03/08/25 06:33 ID:xouSmKYx
あの〜、こないだbbs.cgiを直したことで、refuseならエラーが出なくなった
と思ってたんですが、相変わらずエラーがでているようです。
なんとなく、「bbs.cgiでこないだ直したポートチェック」→「規制串リストチェック」
→「再度どこかでポートチェック。しかも未だにrefuseをポートが開いてると認識する」
みたいになってるんじゃないかと想像するのですが、どなたか調査などできませんでしょうか?
http://qb.2ch.net/test/read.cgi/operate/1061135789/321 に、詳しい内容や、僕が上のように想像した理由なんかを書いてあります。
663 :
521 :03/08/25 22:57 ID:xouSmKYx
664 :
ひろゆき@どうやら管理人 ★ :03/08/26 12:41 ID:???
live5のbbs.cgiをちょっといじってみたです。
666 :
車板 :03/08/26 13:13 ID:jbbrEMZu
ふとおもったけど、書きこみチェックてパターンマッチつーか、 エリアジャッジでイイのでは? 全部を見る必要は無いと思います。
667 :
ひろゆき@どうやら管理人 ★ :03/08/26 13:55 ID:???
ほうほう
>>669 勉強しなさい!(w
もとは「代理」鯖ですから。。。
というか別に身元を隠すためのものではないので そこら辺は正確に書いてもらわないと誤解を・・・・。
つーか「ようです」「らしいです」で何が言いたいのかと、、
まぁ自分で言うのもなんだが適当に書き散らしただけ物ですからねー…。 やれやれ初心者が何かホラふいてるよ( ´,_ゝ`)プくらいに思っていただければ。(←先生こいつ馬鹿です! ついでにそ503いから書き込みてしと、と。
でもまぁ間違ったことかいたらあかんですからねー。。。 修正しとこうっと、どうも申し訳ねぇだす>突っ込んでくれた人々 んじゃ、以降無かったかのように話続行↓
675 :
動け動けウゴウゴ2ちゃんねる :03/08/27 21:40 ID:ZbKga6P0
ビビビビ ひろゆきが大量書き込み中
?
#MD5版ID導入 #last modified 2001年 10月 14日 by ばっきー これ以降いぢっていないような悪寒(w
どこかでマヴさんが中身載せてたような。>ID生成
ていうか現在のランダムさではだめな理由と 「十分なランダム性」を満たす要件を言えよ。 どうしたいのかがさっぱり見えない。 アホだろお前。
# /dev/randomを開き、先頭から16バイト読み出したランダムな値。 ここで失敗したときのことを議論しているんじゃなかったかな?石油板 手元の資料ではエラートラップしていないもより。。。 sysopen(RANDOM, "/dev/random", O_READ) || die "cannot open /dev/random $!\n"; sysread(RANDOM, $data, 16); # ここ close(RANDOM);
>開けない場合は、ランダムな数字 らしいから開くのに失敗したとしても大した違いはないような気もする
>>683 sysopen(RANDOM, "/dev/random", O_READ) || die "cannot open /dev/random $!\n";
この部分以外にエラートラップが施していないので、
最悪、乱数を拾ってこられずに ID 生成する恐れがあるみたいです。ニヤリ
といっても自分の所持している bbs.cgi の ID を生成している部分が、
以後に改竄(wされていなければという前提ですけれど。。。
>>677 俺の記憶が正しければ、IDは、IPアドレスの下数桁しか使っていないはず
だから、ランダム性に関係なく、全桁は求まらないはず
記憶っていうか
>>681 に書いてるわけだが
# IPアドレスからMD5を算出する。(16進数形式)
# 返ってきた文字列の"後ろから4バイト"を求める
$ipmd5 = substr(md5_hex($ip),-4);
>>681 こちらも難しいとは思うんですが。
>>承諾広告※ ◆aiY4htt2.2様
そうですね。
結局は、今利用しているbbs.cgiの2chスクリプトがわからないと判断できません。
>>685-686 うーん。それであっても。
もしその板で活動している人達が、日頃からメールなりメッセなりQでやりとりしていれば。
匿名の投稿をどれが誰なのか特定できるかも、です。
「かも」。 アホか。 セキュ板住人なら実際特定してから話もってこいよ。 ていうかスレ違いじゃんかよ。
>>681 のサイトの管理人ですが、それを書くのに参考にしたのは
bbs.cgi ver 0.31 (02/04/06)
と思われるスクリプトです。
>>682-684 "開けない場合"というのは"/dev/randomを使わない設定にしている場合"
と読み置いてください。。(説明がまずかったです。)
# 該当部分のソース
$RANDOM= 1;
if($RANDOM == 1){
sysopen(RANDOM, "/dev/random", 'O_READ') || DispError("/dev/random が開けない!");
sysread(RANDOM, $data, 16);
close(RANDOM);
}else{
$data = int(rand(9999999999999999));
}
>>689 sysread(RANDOM, $data, 16);
ここで 16 バイト読めなかったときのことです。
if (sysread(RANDOM, $data, 16) != 16) { 読み込めなかったときの処理; }
とする方が良さそうですね。
話は変わって。。。 bbs.cgi が吐き出すエラー類。 2chブラウザの時(User-Agentが「Monazilla」を含むとき。)には、 特別なレスポンスヘッダ(エンティティ)だけを返すっていうのはいかがでしょう? html返すよりかは多少は転送量が減りそうな。 凡例: 2ch-response: 200\n # 書き込み成功。 2ch-response: 300\n # 連投規制 ERR593みたいなの。 などなど。
>未承諾広告※ ◆aiY4htt2.2さん そこで素朴な疑問なんですが。 16バイト揃わなかったからどうする、ではなくって。 例えば「8バイトをrandから作成して、それを2回繰り返して、得られた乱数を掛けて16バイトに」とかではダメなんでしょうか。 もしくは1バイトずつ作成して16回繰り返して組み合わせる、とか。 #スクリプトへの負荷は大きくなりそうですが。 #さほど問題が無い範囲の回数で処理するなら、この手の問題はあっけなく簡単にクリアされそうな感じです。
>>692 2ch と同じ値を出す目的でなければどんな方法でも良いかと。
単に石油板での懸念に対してそういえばこういうこともあり得るなぁと呟いてみただけでして(^-^)
>未承諾広告※ ◆aiY4htt2.2 さん そですよね。。。。 であれば「16バイトじゃなくって、もっと少ないバイト数の乱数しか作成できないかもしれないケース」は回避できますよね。 現在のbbs.cgiを公開は難しい(と言うか無理)でしょうが。 これらのレスを見た上で、管理サイドの人がそれとなーく改造してくれるのを切に願います。 石油板、後で見てみますねん(らぶ おまけ。 このような脆弱性?を含む(かもしれない)ケースにおいて、対処する事はですね。 2chの運営において、セキュアな環境であるように積極的に取り組み、心がけているというポジティブなアナウンスになりますし。 それは多少遠まわしではありますが、企業イメージそのものの向上に繋がります。 長い目で見れば、それは東京アクセス単体ではなく、2chそのもののイメージアップに結びつきます。 それは利用者だけではなく広告主にも望まれる、事業展開の上で望ましい今後の戦略の一つです。 >管理者のお方 「修正したよん!」というアナウンスはこの際無かったとしても。 ひっそりと取り組んで頂ければ、それで結構です。 いずれにしても現状では、レアケースであったとしても安全な状況ではありません。 それではよろしくお願いいたします。
>>691 この要望は昔からあるけど、実装してくれないんだよなぁ。
>>695 やはり今までにもありましたか。
でも今はそれどころじゃないようですよね(w
♪おはようございます(w
>>694 カタカナが多くて読みづらいなぁと思った。
>>694 だからさ、なにが脆弱で、なにがアンセキュアなの?
>>690 /dev/randomって読めなければ読めるまでブロックするのでは
700 :
:03/08/30 22:31 ID:F69prBwu
シロウトなんでよく分かんないけど。 自分のIPから実際に2chにテスト書き込みして、表示されたIDを記録。 自分のIPと板文字列と全てのrandomからIDを生成するプログラムを走らせて。 一致するかどうかをチェックする。 その一致したときに使ったrandomが正解。 randomの値が16バイトなら2^128回も計算する必要が有る。(IPv6の大きさぐらい) しかしrandomがあまりブレていないと、割り出される可能性が上がる。 こんなかんじ?
そもそも 掲示板への書き込みから書いた側のIPアドレスがわかる==セキュリティ上問題がある という考え方がとっても素敵ですね。 まさか世の中にIPアドレスを記録どころか表示する掲示板などないでしょうし。
「今日の君は最高だよ」ってことだよ
>>701 OSのバグの可能性まで言い出したらきりないでしょ
つーかどのバージョンのどのディストリビューションだとこうだとか
テスト結果くらいつけてくれなきゃ単なるFUDだな
707 :
:03/08/31 13:12 ID:0OTuI4Kd
FUDというほど曖昧な指摘ではない気がするけど。
708 :
動け動けウゴウゴ2ちゃんねる :03/09/01 00:29 ID:sL5eWO1O
今携帯から書けないのはcgi弄ってるから?
さて話は逆戻りして(w 件の ID 生成ルーチンだけど、未だ ID 生成してから ID の「表示」、「非表示」、「 ??? 」、「強制HOST表示」等の 判定をしているかな? 表示しないときはおそらく無駄な処理かと。 ・・・もうやってないよね?(w
書き込み内容や連投チェックのために早い段階でSETTING.TXTを読み込んでいるだろうから、それはないだろう。
>709 規制情報板を見ると、IDの無い板でもIDらしきものが・・・。
712 :
:03/09/02 20:27 ID:Gs5KpmU4
重いmd5を何回も計算して、それを最後に使わずにステ?
>>712 手元の資料ではそうなっていましたので(w
いっそ365日分のを予め16バイト適当に作成して、それをどっかのファイルに書いてCGIから呼び出す、って手もアリかなぁ。
715 :
:03/09/03 01:40 ID:gDFS662j
セキュリティの基本としてはそのランダム表の管理コスト発生は見逃せない。 設計者や管理者でも何が出るか解らないのが/dev/urandomのメリットだと思うし。 だから隠したり管理する必要が無い。 それとも2^128分のmd5したID表を持っておく?
その巨大な表を管理するくらいならランダム表を管理したほうが よっぽどマシげ
718 :
:03/09/03 17:24 ID:gDFS662j
>>717 google /dev/urandom
Linuxじゃ違うデバイスだったっけ?
>>718 赤帽7.3も /dev/urandom
あLinuxのデバイスでこんなのあるんだ。ハズカシ。
>>718 ,719
日頃Linuxつかわんので知らなかったスマソ。
Perl で $a = "ふいうえおあいうえおあいうえおかきくけこ" $b = "うえ"; だった場合、$a の中に $b が何回現れるかってのは どうゆうコード書くんですか? $nnn = &kaisu($a,$b) ; みたいに使いたいんですけど。
>>721 $nnn = ($a =~ s/$b/$b/g);
で OK かな。
$nnn = ($a =~ s/\Q$b\E/$b/g);
ってしておくと安全かな?
おおっ どうもです さっそく実験してみよう。
sub kaisu{ my ($a, $b , $nnn) = @_; $nnn = 0; $nnn ++ while ($a =~ /\Q$b\E/g); return $nnn; } こうゆうのは?
そこまでする必要あるのか……?
sub cntStr{# 文字列の個数チェック local(*_str,$_ptn) = @_; my($_pos,$_cnt) = (0,0); while(($_pos = index($_str,$_ptn,$_pos)) > -1){ $_cnt++; $_pos++; } return $_cnt; }
>>726 かつてそういう対応もありましたが、それを解読して書き込むソフトも出ましたしねぇ。
極端に見辛くすると普通に書き込む人すら読めなくなったりしますし。
731 :
動け動けウゴウゴ2ちゃんねる :03/09/08 03:41 ID:FwIiA4mL
保守age
732 :
動け動けウゴウゴ2ちゃんねる :03/09/08 17:19 ID:4M7on1AC
保全
733 :
動け動けウゴウゴ2ちゃんねる :03/09/09 19:26 ID:lyIimdSw
今弄ってるから障害出てるのかね
734 :
動け動けウゴウゴ2ちゃんねる :03/09/09 19:29 ID:RJQh8lx0
ここのせいで2chにカキコできないのですか?
ここのせいって・・w
736 :
別スレ865 :03/09/09 20:54 ID:xIZbK3vr
ひょっとして今夜、
>>585 の
>PROXY規制について
を実行に移したんですか?
737 :
FOX ★ :03/09/09 21:20 ID:???
現在ポートチェックしてないです。
>>737 HTTPヘッダの Connection: は見てますか?
串に対して HTTP1.0 と HTTP1.1 で書いてみたけど両方書けたよ。 Keep-alive 限定ではなさそう
741 :
動け動けウゴウゴ2ちゃんねる :03/09/09 21:55 ID:2qba2AKb
>>585 を採用の予感ですか
採用してくれたんはありがたいけど許可リストつくらなあかんのちゃう?
強制PROXYとか、グローバルIPじゃないひととか
わりとひっかかっちゃうようなきがする・・
ぶちゃった話、マルチポスト広告を防ぐには、 投稿内容中のURLをデータベースでチェックして 頻繁に書き込まれてないかチャックするしかない。 それにアクセス規制してもイタチごっこになるだけだから、 広告の書き込みは、実際には投稿は完了しないが、 投稿が完了したように見せかけることでイタチゴコを防げる。
>>743 書けてる書けてないは
2chブラウザ使っているとすぐ分かるけど。
qge2ch.pl は書き込めたかのチェックも自動でやるし、
746 :
:03/09/11 15:52 ID:KEGYibja
urlのNGリスト照合。*****で置き換え。全角半角区別なし。
>>745 それじゃあ、書き込み時にリストアップしておいて、
後で自動的に消すくらいしかできないかな・・・
>>746 それがいいと思う
名前とメール欄も対象にしてね
で、板が焼き払われたりdatが壊れたりすると。 正直2回も壊滅的被害及ぼしてるものの開発を これ以上けしかけないでほしい
というかそろそろ板の性質に合わせて開発していくほうが大事なような
751 :
:03/09/12 01:42 ID:RnJ83mFT
いっそのこと、書き込み時にNGリストに含まれる文字があったら。 クッキー警告みたいに「NGワードが含まれています」とはねると言うのはどうか? NGワードのデータベースはcdbを使って、PerlバインディングとCライブラリから呼び出す。 ero-senden-url.com/hiroyuki/:deny :allow みたいな感じで、テキストに追記すればいいからメンテも楽だし。 allowかdenyのチェックだけなので、ハッシュサイズで数百メガぐらいまでは現実的な速度で動作するでしょ。
あめぞうの二の舞
ほほほい
754 :
仕事人 ★ :03/09/21 19:49 ID:???
たまに r.i.core ってのが出来ているです。
755 :
root ★ :03/09/21 20:33 ID:???
>>754 確かにできてますね。でも、微妙にスレ違いかも。
r.iのバグ報告はだれに言えばいいのかしら。
757 :
仕事人 ★ :03/09/23 03:07 ID:???
あららっ もししかして r.i って書き下ろしたの わたしだったという記憶が、、、
いやん。わすれないでよー
>757 仕事人さんではなくて、r.iんごさんだったと記憶していますが。 Σ(゚д゚|||) マサカッ!!!
うんうん。
761 :
◆dDfdgD8zBc :03/09/27 21:34 ID:QTdNHMy4
762 :
◆dDfdgD8zBc :03/09/27 21:35 ID:QTdNHMy4
2chhttpsに直リンしてもhttpに変換されてますね すれ違いスマソ
read.cgi ではリンクされてないよ。 2ch ブラウザの種類によるんじゃない? かちゅもリンクしないし
index.htmlのことだろう。今確かめてみた。 わざわざageたのもそれを確かめるためだろ。
おおー index.html なんてめっっったに見ないからわからんかった。 ごめんょ
766 :
動け動けウゴウゴ2ちゃんねる :03/09/28 03:10 ID:vWQZsUdL
試しにあげさせてくらさい
767 :
動け動けウゴウゴ2ちゃんねる :03/09/28 03:12 ID:vWQZsUdL
bbs.cgiは関係無いんだからテストスレでやろうよ
カーネル2.6、すごいらしいが、 試す勇者はいないのか。
#_迺黹 ここではならないんですね。 news5だと◆になる。。。 んー。root★さんの分野かも?
どこかで見つけたログで、null文字投げたらそうなるとかいうのは見つけましたが…
おぉ、、、「#_迺黹」トリップ。。
なんでなる板とならない板があるんだ
>>772-774 気にはなってました。おかしくなる実例を出してもらえたので、解析できるかな。
しかし、よく実例がわかったすね。
>>770 最初の4行だけ見たんですけど、何が言いたいんだかさっぱりわかりません。
いい加減にしてもらえませんか?
ここ数日にどこかで詳細に書いてある過去ログへのリンクが有ったんですが… 今出張準備の合間にログ検索してます。
多分批判要望の雑談スレ
>>779 いま気付いたけど、5行目まで読まないと意味がわからないようになってます。
crypt()の返り血が空っぽになるんだろうか?(undef) ビット列にしても何らおかしな感じはしないような。。。 0x875FE792EA83 10000111_01011111_11100111_10010010_11101010_10000011 ん?残りの 2 バイト (16 ビット)は、どうなるんだろう・・・?
全然関係ないんだけど
248 名前:◇ [sage] 投稿日:01/12/24 08:48 ID:???
>>187 凄いな
完璧ネタスレだと思ったのに。
この調子で★も出る?(ワラ
249 名前:名無しさん? ◆ @ ★ [sage ] 投稿日:01/12/24 08:53 ID:???
★はでねぇって
250 名前:名無しさん? ◆ @ ★ [sage ] 投稿日:01/12/24 08:53 ID:???
うわ。★出たよ。
正直ビビッタ。
ワロタ
おりょ? ●でも連投規制(timeclose)が動くようになってきたのかな?
以前から、timeclose系連投規制は●では回避できませんよ。
timeclose系の連投規制激しくムカつきます
あれ!?そうなんだ。。。
timeclose回避出来る高級●売り出してくれ ノーマル●の4倍くらいの値段でも買う
では垂れ流し。 まずは書き換えたリストから。 行頭と行末の半角スペースは必ず消してください。。。 でわっ!(藤井南美ちゃん風)
と思ったら、長すぎエラー出るやん(滂沱) 長文は★特権だったのね(羨)
あ、ageときます。m(_ _)m重ね重ね
>>793 ★じゃなくて管理者特権
普通の★じゃ規制されるよ
>>796 解説ありがとうです。
なるほどーそうなんですか!
まだまだ2ちゃんねるは知らないことがいっぱい(わくわく)
こんなのが2chに入ったら即死亡だな。 少し頭を使え。
最近の2ちゃんねるは入ることが出来るのですか? あまつさえ死ぬことがあるのですか? びっくりです。
広告爆撃の bbs.cgi 的解法でも考えて見ますか、 1) 特定のURLが書かれていた場合は bbx.2ch.net に問い合わせる 2) bbx.2ch.net は問い合わせのあったリモホ(IP)の数・頻度を記録している 3) 同一リモホからの宣伝URLが24h以内に2回きたら NG と判定。 4) bbs.cgi は NG が返ってきたら投稿を拒否。 5) bbx.2ch.net はNGを自動的に解除しない。 利点 IPアドレスをピンポイントで自動的に規制できる ↓賛否両論 (放置はイヤン)
bbs.cgiが重くなる
>>801 ほんと?
ずいぶんと軽くなると思うけど、
たまたま同じアドレスの奴が全然違う板にURLを貼って規制される。 自治スレなんかで看板投票の呼びかけをした奴が規制される。 せめて一時間に三度くらいにしておかないと。
特定の URL ってのは業者の URL を手で書くんだよね? たとえばアップローダへの URL をコピペしてると自動的に規制とかじゃないよね?
あっ、特定のURLでした。スマソ。 でも規制URLは公表して欲しいね。
特定のURLは過疎板に貼っておいて、アンカーで勝負する手もありうる。
>>800 bbqシステムへの自動登録すか。悪くないかも。
Dynamic DNSの技術を使えば、できる気がします。
うまくやれば、bbs.cgiでテーブルをみなくてもすむので、今よりも軽くなるでしょう。
今設定しようとしている(Proxyチェック用の)ドメイン(nikuやsumi)とは、
別のドメインを使ったほうがいいかな。
三分間も寝ないで考えたたたき台ですから、 思考実験してもしかしたら何かうまい方法ができあがるかもよ。
>800 とりあえず、つっこみ 1)特定URLを全て転送アドレスを大量に用意することで回避されてしまう 3)同一IPでのチェックでは頻繁に繋ぎ変えで対処されてしまう。 もし、別の人間が繋ぎ変えたときにそのIPになると完全に巻き添えに なってしまう
こんな感じかな。串焼き用のbbqと区別するために、仮にbbxとしてみよう。 検知=>登録システム 1)bbs.cgiがURIを検知 2)bbs.cgiからbbxシステムにIPを通知 3)bbxは、 3a)初回なら、そのIPを自分のDBにストアして覚えておく 3b)既知のIPなら自分が管理する「だめ用DNS」に登録 4)「だめ用DNS」からの解除は手動(たとえばCGIを呼ぶとか)で実行 チェックシステム 1)bbs.cgiがbbxが管理する「だめ用DNS」を呼んで、該当IPかチェック 2)該当IPなら投稿規制
bbx.2ch.net が落ちたらガクガクブルブル
>>809 そのとおりですね。いずれにせよ「いたちごっこ」であることにかわりはなさそうだ。
>>811 はい、そのとおりかと。
bbx.2ch.netが落ちていても(登録や悪金ができないだけで)、ブロックしないように
する工夫は必要でしょう。
bbs.cgi とは直接関係無いけど
各部署の人員配置も思考実験では考慮したい。
>>810 を仮定すると。
1) の検知の前に登録作業がある。
ここは自動化は出来ない(登録すべきかどうかの判断)
そのあとは自動化できると思うけど、
最後の解除のあたりも考えなきゃねぇ
リモホではじくの? 単純にn回以上書き込まれたURLは不可、ではダメですか?
>>800 >IPアドレスをピンポイントで自動的に規制できる
IPアドレスからの投稿を全て規制してしまうのではなく、
そのIPアドレスがURL込みの投稿をした場合拒否する、
という仕様なら、巻き添えがあっても被害が小さいかもです。
各広告対策スレッドを見ていただければ どれだけの人員、労力が投入されて現2ちゃんねるを 少しでも使いやすくするために日夜うごかされているかを 見ることができます。 1) 広告爆撃のデータ収集 2) URL の特定 3) bbs.cgi にログ収集部の追加 4) 再爆撃の確認 5) ログを見て規制 6) ISPへの連絡 1) -> 6) を三回ほど繰り返し 7) 永久規制の提言 さらにループをN回?
URL は正規表現付きで登録できたらいいなぁ、
>>814 なるほど、URIを登録するDBが必要なのか。
いずれにせよ、テキストファイルだとスケールしなさそうだなぁ。
書き込みがプチ祭りしていたのでドキドキしました(w そろそろ bbq 祭りですね(嬉) niku,sumiは、getbyhostname() 等で会話が出来るけれども、bbx(仮)さんとの会話の手段はどうなるんだろう?
こんな感じじゃダメでしょうか? 1)bbs.cgiがURIを検知 2)bbs.cgiがbbxシステムにIPとURIを送って問い合わせる bbxシステム側の動作としては、 同じURIがn回書き込まれたら、URIとIPをだめリストに記録して「書き込み不可」を返す さらにm回、だめIPでだめURIを書き込もうとしたら もはや業者と判断して、IPをアクセス規制して「書き込み不可」を返す それ以外は「書き込みOK」を返す 3)bbxシステムの返り値に、 3a)「書き込み不可」が返ってきたら書き込み拒否 3b)「書き込みOK」が返ってきたら普通に書き込む 3c)タイムアウトしたらbbxが落ちていると判断して、諦めて書き込む
>>796 遅レスだが、★にそんな区分はないらしいよ。
現に漏れのでも改行規制超えられるし。
「できたらいいな」ぐらいにしとけ bbqと違って失敗するのは目に見えてるぞ
AD Bluster は URI 登録だけでいいのでは? 広告を避けるための手段として該当する URI を排除するのであるならば。 該当すれば、エセ「書きこみました。」を出力しておけばよいと思うけれど。
>>823 すくなくとも大幅な省力化はできるかと、
ISPへの通知まで含めて。
工夫の無い業者向けの自動登録・収集システムなんだけど。 たとえば、.NET CLR (.NET CLR 1.1.4322や.NET CLR 1.0.3705)のような あからさまにあやしいクライアントの場合、 1)bbs.cgiでブラウザ判定。ぁゃτぃ 2)bbqに全書き込み内容、または、ホスト、本文中に含まれるリンク等の情報を通知。 3)bbqでデータベース化。10個同じリンクやホストのやつがたまったらそのホストを 別枠で公開串規制化しつつ各サーバにログ保存のキーワードとしてリンクアドレス等の情報を送信。 4)各サーバで書き込みログを収集。 こんな感じでしばらくの間は御新規さんや変異さんにある程度対応できないかな、と。 いや、最初から公開串規制扱いでもいいんですけど、すぐに対応されそうなので、 少し泳がせておいてからISPに切ってもらうのもええんではないかと。
よく調べてたら前々あやしくなかった…… 吊ってきます……
>>828 なんだか反応がありませんね(泪)
取り敢えずブツを示せということかな?
> ★アクセス規制探索回路?もぼつぼつと。
ひとまずこちらを自鯖ででっちあげてみます。今日中には動くかな?
831 :
未承諾広告※ ◆aiY4htt2.2 :03/11/02 20:46 ID:0TzhQuXc
やっぱりいろいろなモジュールを組み込むカタチの方が良さそうな。 @おそらく現状はぺたぺた貼付とんでもソースでしょ?(・∀・)ニヤニヤ ついでに dat 墜ちは可哀想なので age
面白そうなことをやっていますねー
834 :
ひろゆき@どうやら管理人 ★ :03/11/03 23:45 ID:???
news5をいじったその後はどうっすか?
>>834 私は今回は敗退して、元に戻しました。
ひ(りゃ はどんなところを?
836 :
ひろゆき@どうやら管理人 ★ :03/11/04 00:29 ID:???
ロックを一箇所減らしてみました。
837 :
reffi@報告人 ★ :03/11/04 00:32 ID:???
暇なので実験に協力します。 今、見たけどまだ崩れますね。。。
んーむ、明日早いので、今日こそは早寝(りゃ。
bbq の方はその後どうなったかな?
次はどうすればいいのかな? もう bbs.cgi に組み込む段階だったりするんですか?
>>840 私に言われても…(^-^;)ハテ?
>>841 とりあえず版を実装しましたので、是非組み込んでみて欲しいです。
様子を見ながら、徐々に拡張していこうと思ってますー。
ラプター★たんハッケソ 拡張…(;´Д`)ハァハァ
>>841 >>842 おつです。
bbs.cgiからの呼び出し方:
・1.2.3.4が登録されているかどうか判定したい時
4.3.2.1.niku.2ch.net を gethostbyname して、
127.0.0.2 が来ればbbqに登録されている。
・kushi.example.netが登録されているかどうか判定したいとき
kushi.example.net.sumi.2ch.net を gethostbyname して、
127.0.0.3 が来ればbbqに登録されている。
ちょっと思いついたので。 そもそも、index.html 等をflock()しようとするからいろいろメンドウなことが起きるわけで。 で、index.html という名前でみんなが書こうとするからいけないのであって、 ・書き出しは index.html.なんちゃら というユニークなファイル名で書いておいて、 ・書き出し完了後、 rename() で index.html に変える ようにすれば、rename() はアトミックだから、flock()しないで済み、 今起きてるindex.htmlが壊れるのも対応できるような気がする。 …というのは、甘いのかな。
二編クンが「えっそうなってないの?」と言ったのは このことだったような、違ったような。
やっぱり +< でオープンしてファイルロックしてるのか・・・ ファイル名に . $tmpstr して開いて書いてリネームがよろしいかと。 $tmpstr は重複しないように時間とプロセス番号でもつけておいて。 プログラムの冒頭で #$$はこのCGIを実行しているプロセス番号 use vars qw($tmpstr); $tmpstr = $NOWTIME . $$; 実際に書くところは open ( FD, '>' . $file . $tmpstr ) ; print FD $buffer ; #この処理は一例 close ( FD ) ; rename( $file . $tmpstr, $file ) ; こんな感じかと。
> でオープンしてるという噂もあるらしいですよ。
> + flock !? 今まで壊れなかったのが不思議だ・・・
つか、先日ちゃんとflockするようにしたら(略。
bbs.cgiを公開しる!! ★だけが見れるというのは納得いかんです。
>>851 いや、そりゃ確かに私もみてみたいですけどぉ。。。
#ブラックボックスにしてセキュリティを高めるって方針なのだったですか?(←解ってない人)
854 :
未承諾広告※ ◆aiY4htt2.2 :03/11/06 21:47 ID:YNMlCJ2h
えっと。。。
>>830 は撤去しております。m(_ _)m
【 html化されたこのスレを読んでいるお前へ 】 おい、お前。そう、お前だよ。 「このスレおもろいから見てみ」「2ちゃんの歴史に残る名スレだぜ」とか言われてホイホイと このhtml化されたスレを見にきた、お前のことだ。 どうだ?このスレおもしれーだろ。 でもな、お前はこのスレを読むだけで、参加することはできねーんだよ。 可愛そうにな、プププ。 俺は今、ライブでこのスレに参加してる。 すっげー貴重な経験したよ。この先いつまでも自慢できる。 まあ、お前みたいな出遅れ君は、html化されたこのスレを指くわえて眺めてろってこった。
じゃあ2chに残る名スレにライブカキコ。
857 :
動け動けウゴウゴ2ちゃんねる :03/11/10 11:05 ID:tHZSAHaO
Intel Compilerつかうのはどうでしょうか。 uma鯖には使えないけど、他のLinuxが動く鯖ならそれなりに期待できるかも。
iccは数値演算をゴリゴリしなくちゃあんまり意味ないだろ。 HDDのI/O待ちが主なボトルネックだろうし。 というか商用利用するライセンスを買うの?
859 :
動け動けウゴウゴ2ちゃんねる :03/11/10 20:25 ID:tHZSAHaO
>>858 そういわれて再検討。
iccをつかってもたらされるものはこんなところか。
・アクセス規制のチェックなどの処理が向上
・ネットワークI/Oは若干高速化(CPU上のパケット処理の高速化)
・ディスクI/Oはあまり減らない? やり方次第では削減可能かもしれないが・・・。
860 :
ひろゆき@どうやら管理人 ★ :03/11/10 20:51 ID:???
トリップが変わっちゃう問題のサンプルってありますか?
862 :
ひろゆき@どうやら管理人 ★ :03/11/11 04:07 ID:???
そうえいば、bbqのプロキシ規制っていつから稼動なんすか?
864 :
ひろゆき@どうやら管理人 ★ :03/11/11 04:32 ID:???
どういうスクリプトをいれればよいのやら、、、
ヽ(冫、)ノズコーッ
perlのリファレンス書と
>>844 を見ただけでカキコ
・192.168.0.1みたいのが登録されているかどうか判定したい時
$checkbbq = join("\.",reverse(split("\.",$ENV{'REMOTE_ADDR'}));
$checkbbq .= '.niku.2ch.net';
if(gethostbyname($checkbbq) eq '127.0.0.2'){
#プロクシ判定に引っかかってますよ( ̄ー ̄)ニヤリッ
}
・kushi.example.netが登録されているかどうか判定したいとき
$checkbbq = 'kushi.example.net' . '.sumi.2ch.net';
if(gethostbyname($checkbbq) eq '127.0.0.3'){
#プロクシ判定に引っかかってますよ( ̄ー ̄)ニヤリッ
}
こんな感じでいいんじゃ?
868 :
ひろゆき@どうやら管理人 ★ :03/11/11 13:45 ID:???
ためしてみよう。。
管理人が仕事すると板が飛ぶという伝説があるので ほどほどにしてくれ
ニヤニヤ
ドキドキ
872 :
ひろゆき@どうやら管理人 ★ :03/11/11 14:08 ID:???
どのIPがひっかかるのかわかりません。。。
873 :
ひろゆき@どうやら管理人 ★ :03/11/11 14:15 ID:???
874 :
動け動けウゴウゴ2ちゃんねる :03/11/11 14:15 ID:fdc7acxN
おい糞西村!! 批判要望板への嫌がらせもいい加減にしやがれ!!
875 :
動け動けウゴウゴ2ちゃんねる :03/11/11 14:16 ID:fdc7acxN
カレンダー売ってる暇があるなら中傷書き込み削除しろ! 2糞ねるドメイン売ってる暇があるなら2ちゃんねるを改善しろ!
876 :
動け動けウゴウゴ2ちゃんねる :03/11/11 14:18 ID:fdc7acxN
総会屋じみたことしてんじゃねぇよ! 削除システムどうにかしろ!被害者が増えつづけてるんだよ! 削除依頼くらいメールで出来るだろ!
877 :
動け動けウゴウゴ2ちゃんねる :03/11/11 14:20 ID:fdc7acxN
実況板廃止しやがれ!名無しで書き込めるようにするのをやめろ! 削除人をもっと増やせ!中傷書き込みはすぐ削除できるようにしろ! 難癖つけて削除しないバカはクビにしろ! 板ごとに管理人をつけろ! カレンダーで儲けた金で管理者を雇え!
878 :
ひろゆき@どうやら管理人 ★ :03/11/11 14:20 ID:???
> www.u-tokyo.ac.jp.sumi.2ch.net Server: ns1.sphere.ad.jp Address: 202.239.113.18 *** ns1.sphere.ad.jp can't find www.u-tokyo.ac.jp.sumi.2ch.net: Non-existent domain > server sumi.2ch.net Default Server: sumi.2ch.net > diras.q.t.u-tokyo.ac.jp.sumi.2ch.net Server: sumi.2ch.net *** sumi.2ch.net can't find diras.q.t.u-tokyo.ac.jp.sumi.2ch.net: No response from server そもそも、sumi.2ch.netにpingが通らない。。
879 :
動け動けウゴウゴ2ちゃんねる :03/11/11 14:21 ID:fdc7acxN
西村は総会屋じみたことをして荒稼ぎしている癖に その金を2chに使おうとしません。 一体何に使っているのでしょうか? 教えろ西村
今ここを見ました。
>>878 Non-existent domain になるのは、登録がないやつです。
sumi.2ch.net は、管理用のドメインなので、pingは通りません。
というか、アドレスつけてありません。
>>878 ええと、nslookup でやるときは、server を sumi.2ch.net に向ける
必要はありませんです。通常のDNSサーバに聞けばよいです。
>>881 というか、とりあえず現状登録されているアウトになるアドレスを教えてあげて
ほしいです
i1-server.town.ikeda.fukui.jp
884 :
ひろゆき@どうやら管理人 ★ :03/11/11 14:27 ID:???
今データを見てみました。*.yahoo.comはsumiに登録されているようなので、 % nslookup host.yahoo.com.sumi.2ch.net とやってみてください。127.0.0.3 が来れば、正常に動いてます。 u-tokyo.ac.jp は sumi に登録されてないので、 % nslookup www.u-tokyo.ac.jp.sumi.2ch.net や % nslookup diras.q.t.u-tokyo.ac.jp.sumi.2ch.net は、Non-existant domain になるはず。
886 :
動け動けウゴウゴ2ちゃんねる :03/11/11 14:29 ID:DA0VDsgI
西村博之は中傷書き込みや犯罪予告をなくすくらい今すぐにでも出来るのに 全て利用者の責任にして、いつまで経っても改善しません。 何故でしょうか?
887 :
動け動けウゴウゴ2ちゃんねる :03/11/11 14:31 ID:DA0VDsgI
西村博之は2ちゃんねるのグッズをいくつも販売していますが その金は何に使っているのでしょうか? サーバーの費用でしょうか?
sumiのほうには、現在251行しか登録がないです。 たぶん、まだ全部を網羅してないんだとおもわれ。
889 :
動け動けウゴウゴ2ちゃんねる :03/11/11 14:33 ID:DA0VDsgI
2ちゃんねるが中傷スレッドは難癖つけて削除しないと言うのは有名ですが あれを利用して企業を脅し、総会屋のような事をしていると言う噂がありますが 本当でしょうか?
>>882 sumi の方は
>>885 の通り。
niku の方は、127.0.0.0/24 が登録されているので、
% nslookup 1.0.0.127.niku.2ch.net
とやって、127.0.0.2 が返れば、正常です。
891 :
ひろゆき@どうやら管理人 ★ :03/11/11 14:35 ID:???
> host.yahoo.com.sumi.2ch.net Server: ns1.sphere.ad.jp Address: 202.239.113.18 Name: host.yahoo.com.sumi.2ch.net Address: 127.0.0.3 おぉ、、できた。。。 sumi.のほうがまだ251行だとすると、 niku.で試したほうがいいですか? アウトのアドレスをおしえてくださいー。
nikuのほうは、たくさん登録されています。 ここに書くのはいまいちなので、メールしましょう。 試すときは、桁を逆にするのをお忘れなく。 例: 127.0.0.0/24 なら、127.0.0.0 - 127.0.0.255 が登録対象。 これを調べるときは、1.0.0.127.niku.2ch.net でチェックして、 127.0.0.2 が来れば、登録されている。エラーなら登録なし。
893 :
動け動けウゴウゴ2ちゃんねる :03/11/11 14:39 ID:DA0VDsgI
西村は荒らしは放置といつも嘆いていますが 放置でどういうできるレベルではありません。 書き込み制限をきつくすればいいのにしようとしません いつまでも改善しようとしない。 何故なら2ちゃんねるがまともになっては困るからです。 バカを量産して犯罪予告や事件をおこさせて2chを有名にする。 総会屋じみたことをして企業から金を脅し取る。 荒らしが減っては書き込み数も激減してしまう。 こういった悪用が出来なくなるからです。 西村が2chを改善しようとしない理由はここにあります。
894 :
2ch=総会屋?の噂 :03/11/11 14:40 ID:DA0VDsgI
895 :
ひろゆき@どうやら管理人 ★ :03/11/11 14:41 ID:???
$checkbbq = "$ENV{'QUERY_STRING'}" . '.sumi.2ch.net'; $ipaddr = (gethostbyname($checkbbq))[4]; $ipresult = sprintf("%u.%u.%u.%u", unpack("C*", $ipaddr)); if($ipresult eq '127.0.0.3'){ print "<hr>$checkbbq OUT $ipresult"; #プロクシ判定に引っかかってますよ( ̄ー ̄)ニヤリッ } else {print "<hr>$checkbbq OK $ipresult";} 成功したのでメモ書き。
896 :
2ch=総会屋?の噂 :03/11/11 14:41 ID:DA0VDsgI
世論ではなく総会屋? に踊らされた 2ちゃんねるに近いあるインターネット関連会社の社長は、2ちゃんねるの幹部から得た話として証言する。 「2ちゃんねるは、運営者や幹部などがそれぞれ別々に会社を作りカネの流れを見え難くしているが、 実際の資金源は複数の大手通信会社系からの調査費名目のカネ。月額で計約700万円と言い、 年間にすれば1億円近く。額はともあれ、これは通信会社系的には、 ぼう大なトラフィックを調査すると言う表向きの理由が一応は立つ。 自社系に都合の悪い書き込みがされた時に優先的に削除してもらうことも期待している」と前置きし 「通信会社系の削除の期待も含めて、2ちゃんねるは総会屋と同じになっている」と言うのだ。
897 :
西村博之の逮捕は可能か? :03/11/11 14:44 ID:TC/9H4Ol
その具体的な理由として社長は、こう話す。 「2ちゃんねるはボランティアの削除人が書き込みをチェックして、好ましくない書き込みを一所懸命削除している、ということになっているが、 あれはウソ。削除人には給料が支払われ、その給料の原資となっているのが、 まずいことを書き込まれた企業が削除要求とともに渡す裏金。これはまさに、総会屋の構図そのものだ。 これまで裁判になっているのは金額で折り合えなかったり、裏金を出さない強い態度の企業とだけだ」 もしこの社長の証言が事実だとすれば、警察や検察は、総会屋と同じ仕組みの掲示板サイトに動かされて摘発したり 異例の動物愛護法による逮捕・起訴や、書類送検で処理した容疑者を異例の逮捕・起訴に持ち込んだことになる。 「社会への影響」と検察が言う“社会”が、実は総会屋に等しいものだった、とは、 警察、検察にとって何とも情けない話である。
898 :
西村博之の逮捕、2chの閉鎖は可能 :03/11/11 14:47 ID:TC/9H4Ol
個人情報保護法施行なら閉鎖か 今回の事件では警察が摘発する以前に、容疑者とされる男の住所や実名が2ちゃんねるに書き込まれた。 結果的に事実ではあったが、事実かどうかには関係なく、その段階では容疑者とされていなかった 人物の個人情報が勝手に書き込まれたことには変わりない。本人の同意なしの第三者への 個人情報提供の原則禁止を義務付ける個人情報保護法案は、7月に閉会した国会では成立せず、 継続審議となった。だが、もし個人情報保護法案が施行されれば、こうした書き込みをしたユーザーや、 書き込みを放置した2ちゃんねる側は、罪に問われることになる。 法案は今秋の臨時国会での成立を目指すことになっている。成立、施行後は、 誰もが勝手に書き込みできる2ちゃんねるが、現状のまま存続できないことは明らかだ。 その場合、警察や検察は何をもって“社会”“世論”と考えるのだろうか。
899 :
動け動けウゴウゴ2ちゃんねる :03/11/11 14:49 ID:TC/9H4Ol
今年8月9日、「検察を動かす婚2ちゃんねる世論恨の恐ろしさ」と題された記事がITニュースサイト「ASCII24」で 発表され、ちょっとした騒動を引き起こした。その記事の後半部に書かれた内容とは、巨大掲示板2ちゃんねるが、 “裏金”も含む、企業からの資金提供によって運営を維持しているというものだったのだ。 記事では、2ちゃんねるに近いあるインターネット関連会社の社長から得たという次のような証言を紹介している。 「(2ちゃんねるの)実際の資金源は複数の大手通信会社系からの調査費名目のカネ。月額で計約700万円」 「通信会社系の削除の期待も含めて、2ちゃんねるは総会屋と同じになっている」 「2ちゃんねるはボランティアの削除人が書き込みをチェックして、好ましくない書き込みを一生懸命削除している、ということになっているが、 あれはウソ。削除人には給料が支払われ、その給料の原資となっているのが、 まずいことを書き込まれた企業が削除要求とともに渡す裏金」などなど。
メールしました。こっちはもうすぐ日付がかわります。 MSPは寒い。
MSPって、マディソンスクエアパークだよな
902 :
動け動けウゴウゴ2ちゃんねる :03/11/11 14:52 ID:TC/9H4Ol
・削除人が難癖つけて削除しない。 ・わざわざIPを晒させて被害者を増やすシステム。 ・削除依頼システムを改善しようとしない。 ・2ちゃんねるが告訴されそうな個人情報はすぐ削除するのに 中傷スレッドはいつまで経っても削除しようとしない。 その理由は2ちゃんねるが総会屋だからです。
903 :
動け動けウゴウゴ2ちゃんねる :03/11/11 14:54 ID:TC/9H4Ol
あなたはこの画面を何十回見たでしょうか?
http://ime.nu/2ch.net/guide/adv.html#saku_rule BCC
http://ime.nu/qb2.2ch.net/saku2ch/subback.html BCC
ime.nuでリンク元を隠す
2ch内のリンクは一旦このime.nuに入ってから移動します。
ime.nuを介すことでリンク元URLが2chでなくime.nuになります。
あらしに会った人が[2ch内のどこからリンクされているのかわからなくする]為です。
削除依頼を出そうにもリンク元URLを書かれないと削除できないです。。。という仕組みです。
ime.nuで猥褻広告への批判をごまかす
ime.nuでは無修正の猥褻画像がたくさん出ます。
猥褻広告は一般の広告に比べ20倍の利益が出ます。
2chはこれらの広告を[全ての外行きリンク]で表示させます。
そしてime.nuを介すことにより、2chは猥褻広告をせず、
ime.nuさんがしているわけでおいらは知らないです。。。という仕組みです。
904 :
動け動けウゴウゴ2ちゃんねる :03/11/11 15:04 ID:FpgmjNky
わあ。ひろゆきだぁ(*゚∀゚*)
905 :
ひろゆき@どうやら管理人 ★ :03/11/11 15:05 ID:???
$checkbbq = join("\.",reverse(split(/\./,$checkbbq))); $checkbbq .= '.niku.2ch.net'; $ipaddr = (gethostbyname($checkbbq))[4]; $ipresult = sprintf("%u.%u.%u.%u", unpack("C*", $ipaddr)); if($ipresult eq '127.0.0.2'){ print "<hr>$checkbbq OUT $ipresult"; #プロクシ判定に引っかかってますよ( ̄ー ̄)ニヤリッ } else {print "<hr>$checkbbq OK $ipresult";} 成功メモ書きpart2 というわけで、ありがとうございますですー。
906 :
動け動けウゴウゴ2ちゃんねる :03/11/11 15:06 ID:FpgmjNky
わあ。またひろゆきだぁ(*゚∀゚*)
さて、これで何かあったら、
>>870 の中の人にがんがってもーらおっと。ニヤニヤ。
908 :
ひろゆき@どうやら管理人 ★ :03/11/11 15:08 ID:???
あとは、ラプターで取得してる結果をnikuとsumiに自動的に流し込む仕組みがあれば、 スタートって感じですか?
>>908 自動で流し込む仕組みは、
とりあえず版がそれなりに動いていると伺っております。(
>>842 )
ここにいるひろゆきさんは 2chの管理人ひろゆきさんなのかなぁ? って思いっきり邪魔しとるな。。あたし。 ただの通りすがりでした。ゴメンナサイ。
911 :
ひろゆき@どうやら管理人 ★ :03/11/11 15:23 ID:???
とりあえず版って何をするものなんだろう、、 ラプターの情報は既にあるわけで、 niku.とsumi.のサーバからラプターの特定ファイルを取りに行くことで、 流し込みですよね?
批判要望板の事ですが…あれって荒らしじゃないんですか? もはやまともな会話すらも出来ないほど荒れてますよ。 批判要望板って運営板の1つじゃないですか? 何であんな事に。 運営の嫌がらせという噂は本当だったのかな?
なんにせよ管理側のスレ違いレス完全放置にわろた
>>911 正規表現で作られた串リストはDNSにはそのままでは入れにくいからだと推測。
916 :
未承諾広告※ ◆aiY4htt2.2 :03/11/11 18:49 ID:f+sZ9wvM
「正しい」正規表現で描かれているならば、便利なことこの上ないですよね。@流し込み元のリスト
ついに始まりですね〜。 >とりあえず版 既存の串リストから、簡略化された串が登録されています。 全ての串を登録しないのはむむむさんの仰る通りです。 次の段階としてbbqに特化した串リストの生成を考えているので、 もうちょっとお待ちくださいね。
ラプターたん(;´Д`)ハァハァ
(*´D`)ポワワ
920 :
ひろゆき@どうやら管理人 ★ :03/11/12 05:26 ID:???
んじゃ、ラプさん待ちで、、
ラムさんじゃだめかよ。
>>921 お前はそんなに管理人のすばらしいギャグが聞きたいのか?
わくわく
大爆笑する準備は完了。
わはわはわはっ、、、さっぶーガクブル
926 :
ひろゆき@どうやら管理人 ★ :03/11/14 01:33 ID:???
index.htmlをtmpをrenameする形にかえてみました。
おおー
930 :
ひろゆき@どうやら管理人 ★ :03/11/14 01:57 ID:???
20031114はそうなってるはずです。。。
>930 N速+ IEでの崩れ現象解消を確認しました。 (リロードしても崩れません。)
とすると、やはり
>>845 がビンゴだったのかしら。
ファイルの書き込み関係はmkstemp()してrename()するだけでも「高負荷時にシクる」というバグが減る気がする。
934 :
ひろゆき@どうやら管理人 ★ :03/11/14 03:12 ID:???
subject.txtは元々、そういう仕様だったんですが、 めんどくさかったので、indexとかを直してなかったんすよね、、 subbackも直ってない予感です。
936 :
不思議の国の案内人 ★ :03/11/14 10:31 ID:???
削除要請板と削除整理板ですが、
>>935 のとおり、index.htmlが崩れてます。
bbs.cgiの入れ替えの影響かと思うのですが
対処(例外処理?)お願いできますでしょうか。
>bbs.cgiを触れる方
>>926 を全鯖いっせいにやった結果
削除板関係も普通のに上書きされてしまったんだと思われ
さて、元のソースは…?
削除板が移転した時の状況を見るに、index.htmlのパーミッションを 書き換え禁止にして、更新されないようにしていた気がするにゃあ。 それが今回の改変では通用しなくなってしまったと。 そろそろ根本的対応ということで、bbs.cgiでsakuとsaku2chは index.htmlを更新しないようにしようぜ。
939 :
ひろゆき@どうやら管理人 ★ :03/11/14 14:02 ID:???
なぜかパーミッションが代わってました。
おー なおっとる おつかれさま
941 :
桶屋 ◆OKEYA4HRAI :03/11/14 14:44 ID:8sImrYnQ
なおってないよー
つーか、sakubbs.cgiもindex.htmlを更新するのね。 sakuとsaku2chは、正常な状態ならindex.htmlは更新しないんだから、 sakubbs.cgiからは関係部分をばっさり外しちゃおう。
ここは荒らしのスルーが徹底してるスレだなw
945 :
ひろゆき@どうやら管理人 ★ :03/11/14 15:53 ID:???
qb2のバージョンをさげてみたです。
おつかされさー。 更新されないのは確認しました。 index.htmlは入口のページにしてちょ。
948 :
ひろゆき@どうやら管理人 ★ :03/11/14 16:09 ID:???
?>index.htmlは入口のページにしてちょ。
たしか index.html = 削除整理・削除要請を選択するページ (saku/index2.html, saku2ch/index2.html へのリンクがある) index2.html = それぞれの削除依頼フォームのあるページ なんじゃなかったかな。
はう…
あ、変わってる、 お疲れ様ー。
自動ジャンプでは無かったですよ。
955 :
FOX ★ :03/11/15 14:35 ID:???
さてさて、 Samba24 , Rock54 等々も順調に動いている半月の夜ですが、 次の一手を考えますかな、、、
つぎはどこら辺を狙うのかいな。
Hack72とか コワイな
958 :
FOX ★ :03/11/15 14:48 ID:???
1) Proxy制限(F22を含む)の性能向上。 現在プロクシ制限用のリストを全投稿でチェックしている訳ではない。 それはサーバ負荷が高くなってしまうからスキップしているのです。 これを全投稿に対して行おうというのが bbq プロジェクトです。 そろそろ bbq は動く? proxyの補足率あがるはず → ocn 等の規制へるはず。
959 :
FOX ★ :03/11/15 14:48 ID:???
2) 設定ファイルの各サーバでの自動更新機能の実装。 Proxy制限、Rock54 等規制のシステムには規制用の元ファイルがあり それをbbs.cgi等が読み込み、稼動している。この元ファイルは F22関連は各サーバへ自動的に配布されている。 しかし Rock54 等あたらしいのは手動である。 ここ自動化しないとならないのだ。 そうすることによって、複数の人間による元ファイルの更新も。。。 ここは思いっきり汎用的なシステムが必要かと、 複数人でメンテして、機動的な運用を目指す。
960 :
FOX ★ :03/11/15 14:48 ID:???
3) あとは、、、 何か自動化必要なのあったっけ?
961 :
動け動けウゴウゴ2ちゃんねる :03/11/15 16:15 ID:mog12nGi
>>958 この板のどっかのスレで「どうやらさん」か「むむむさん」あたりが
そろそろOKみたいなことをいっていたような気がします。
>>959 専用鯖ひとつ作って、そこから一定時間ごとに
ftpなりしてとってこさせるのが一番だと思います。
各鯖にcronで実装可能?
難しいことはさておき。 1. 連投はさせたくない。 2. リロードの荒らしをさせたくない。 3. 広告貼付を根絶したい。 4. ナンタラカンタラ・・・ 要するに『鯖の負荷を減らしたい』というのが根本にあるのではないでしょうか? 「将を射んと欲すれば〜」式での攻防を行っているけれどもそろそろ将軍様を射る頃合いではないかと。
bbs.cgi は最小限にしておき、呼び込むライブラリを変化自在にしてやるのが良さそうかと。 例えば。 ・「規制.pl 」があるとする。而してその実体は、 規制00.pl 規制01.pl 規制02.pl 規制03.pl 規制04.pl 規制05.pl 規制06.pl 規制07.pl 規制08.pl 規制09.pl の 10 種が存在する。 ・bbs.cgi 本体には、require '規制%%deny01%%.pl'と描かれていたりする。 各鯖に /test/bbs.cgi 書き換え用の CGI を用意しておき特定のホストもしくは鯖からのみ接続を許可し、 指定されてクエリによって bbs.cgi に描かれている require '規制%%deny%%.pl' の'%%deny%%'部分を置換する。 (もしくは、ファイル名自体を書き換える等など) こんな仕組みを考えてみるのも楽しいかと(嬉) でもその前に bbs.cgi の5S運動所望(苦笑) 5S = qw/整理 整頓 清掃 清潔 躾/; # だっけ?(^-^;)
糞狐。お前潮時とか言って消えるつもりじゃなかったのかよ。 よくはずかしくなく、のこのこ出てこれるな。 少しは恥を知れ、恥を。
965 :
FOX ★ :03/11/15 17:48 ID:???
.txt .pl .cgi 等 なんでも全サーバに配布する仕組みが欲しいのよ、 危険性の議論も必要だけどネ。 現在自動的に60台を超えるサーバに配信されているのは F22(Proxy規制リスト)だけです。 全サーバで cron を動かすのはやりたくないなぁ それの監視が生れるし(単にいろいろ面倒なだけですが、)
966 :
仕事人 ★ :03/11/15 17:48 ID:???
967 :
仕事人 ★ :03/11/15 17:50 ID:???
>>964 やることなくなったら自然とただの★持ちになるからさ
もうしばらくの辛抱かと、
ところで
>>964 さんがこれらの仕組みを考えて
スクリプト書いて、さらに運用してくれるとかの話ですか?
968 :
ひろゆき@どうやら管理人 ★ :03/11/15 17:54 ID:???
>>965 全サーバに配るのとして、わしづかみくんがあったけど、
あまりの負荷により無かったことに、、、
969 :
仕事人 ★ :03/11/15 17:55 ID:???
>>968 いやいや
それではなく
単に設定ファイルを配る機能の話しで
971 :
ひろゆき@どうやら管理人 ★ :03/11/15 18:08 ID:???
ローカルのMSDOSでバッチであげてたりするので、 サーバ名ファイルが更新してないことが多いおいら。
972 :
仕事人 ★ :03/11/15 18:10 ID:???
さらに いろいろな設定ファイルがあるので 配るのに大変。 Rock54 , ●規制(まだ作っていない) 等々
負荷の事あまり考えていないんですけど、rock54のワードリストや ●規制はbbqみたいに専用鯖で管理して書き込む際にbbs.cgiで 参照しに行くのが一番スマートなような気がします。
cronとかで定期的に設定ファイルをrsyncすればええのでは?
自動配信については、root 鯖があるおかげで何とかなりそうな。 ★仕組み。( http だけでおしゃべりするところが味噌。でも要 suExec かも。) 1. uma 鯖にログイン汁。 2. 各鯖へ uma 鯖に新しい設定ファイル類があるから取りに来いと指令を出す。 ・各鯖に「設定ファイルを取りに来い受付 CGI 」を設置しておく。 ・uma 鯖には全鯖の CGIを呼び出すスクリプト( sh でも pl でも何でも可)を設置してそれを実行させる。 ・各鯖に設置した「設定ファイルを取りに来い受付 CGI 」は、uma 鯖からの接続(ホスト)のみを許可して uma 鯖へ設定ファイルを取りに行く作業を行う。 ・各鯖が取り込んだ設定ファイル類を自前の所定のディレクトリに展開しておく。 ・ (゚Д゚)ウマー のはず。外部非公開ファイルの名前は、 . で始めるとか。いろいろ。 ●各鯖にある「設定ファイルを取りに来い受付 CGI 」では、取り込むファイル類を POST なり GET なりで取得したクエリによって判別できるようにしておくなどなど。 ◎要点。 ・cron ではどうしてもタイムラグが出るので却下。 というのも、設定変更は人為的に行うものだから、uma 鯖に人為的に接続してスクリプト起動すればあとはおまかせ。 ・セキュアに関して。 ★が漏れるよりかはレベルが低いのでは? ということで、別段 ssl しなくてもよいかと。@ ssl するコストも鑑みて。 こんな感じ。
>>958 F22性能アップ
>>959- ファイル配布機能
ということかな。
>>959 は bbs.cgi だけの問題でもないですね。
ということで、本日帰国の途に。
scpとかrsyncだけを許可したSSH鍵をつかって、uma鯖からもらってくる。
command="/usr/local/bin/rsync hogehoge...",no-pty,no-port-forwarding
ttp://www.jp.freebsd.org/QandA/HTML/2255.html 参照。
各サーバーはnotifyを受け付けるのをtcpserverかinetdで、とあるportで待ち受けしていて。
cdbとかiptableで接続許可をuma鯖だけにしておく。
接続があったら、上記rsync専用鍵を使ってデータを取りに行く。
uma鯖からはnotify接続を片っ端からすれば良い。
鍵管理とリスト管理のコストと手間のバランスが問題か?
978 :
動け動けウゴウゴ2ちゃんねる :03/11/16 09:41 ID:XSHOf7FX
>>975 >cron却下
たしかに高速更新が要求されるようなデータにcronはよろしくないですね。
最短でも1分かかるわけですから、
未承諾さんの言うようにスクリプトを走らせておくのが上策でしょうな。。
>httpで〜要suExec
仮にsuExecがいるようならこのしかけで導入するべきではありませんね。
DAVのほうが安全かも。すでに入っている鯖もあるみたいですしね。
>>976 お疲れさまです。帰路お気をつけて。
>>977 今後は、タルるート付き鯖が増える方向なので、将来的な理想像はそのようなカタチになるかと。
でも、肝心のどうやらさんがその気にならないと、、、
>>978 > >httpで〜要suExec
非公開ファイルを、.ht_2ch*** のようにしておけば、suExec は必要なくなるかも。と、たった今思い付きました(w
(.htで始まるファイル名は読ませない。@ Apache のデフォルト)
980 :
動け動けウゴウゴ2ちゃんねる :03/11/16 11:42 ID:XSHOf7FX
>>979 それでいけそうですね。
>>975 をより実装っぽい形に直すと、こんな感じ?
1) 配信元のuma鯖(仮にdistro.uma.2ch.netとする)に配信指令スクリプト(これは手動で起動する)、
配信先の各鯖のhttpでアクセス可能な場所にrcr.cgi(仮:ReConfig Reserverの意)をおいておく。
このとき、rcr.cgiはdistro.uma.2ch.net以外からのアクセスは規制する。
2) 運営側でdistro.uma.2ch.netにloginし、配信指令スクリプトを起動する。
3) 指令を受け取ったrcr.cgiは
http://distro.uma.2ch.net/$CONFIG_FILES_LISTをとりにいく 。
中身はファイルのリスト。
4) 取得したリストを各鯖の設定ファイルの日付などと照合、新しいものがあれば取得しに行く。
5) 取得したファイル(群)を(必要があれば展開して)各鯖の設定ファイル置き場ディレクトリにおく。
981 :
動け動けウゴウゴ2ちゃんねる :03/11/16 11:45 ID:XSHOf7FX
>>980 あ、すいません、上のリンクはアクセスしないでください・・・
うかつだった・・・。
未承諾広告ウザ杉
わしづかみくんは負荷が原因で封印されたのか。。。
bbs.cgi に限らず、鯖共通のスクリプトは cvs で管理するようにした方がええんでネーノ? sshの公開鍵も使えるから、「更新だけはWeb画面から一発」も可能。 先祖返り問題はこれでかなーり防げるYO
985。
986 :
ひろゆき@どうやら管理人 ★ :03/11/18 12:04 ID:???
サーバにsshが入っていない予感。
>>986 うーむ、非oyster/oyster系とも外から ssh するとちゃんと答える気が。
# uma系は当然入ってるです。
988 :
仕事人 ★ :03/11/18 12:48 ID:???
入っていないサーバは破門。
990。
埋めるの('A`)タリー
(・3・) エェー
>>991 乙樺恋
&
\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
,,、,、,,, / \〇ノゝ < たりー・・ 1000取り合戦いくぞ・・・ ,,、,、,,,
/三√ 'A`) \____________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,,
,,、,、,,, U(:::::::::::)∪ ,,、,、,,, タリー タリー タリー タリー タリー ,,、,、,,,
//三/|三|\ ('A`)('A`)('A`)('A`)('A`)
∪ ∪ /( ヘヘ( ヘヘ( ヘヘ( ヘヘ( ヘヘ
('A`) ('A`) ('A`) ('A`) ('A`) ('A`) ('A`) ('A`)
,,、,、,,, /( ヘヘ /( ヘヘ /( ヘヘ /( ヘヘ /( ヘヘ /( ヘヘ /( ヘヘ /( ヘヘ
タリー タリー タリー タリー タリー タリー タリー タリー
おつかれツインズ
タリー
999 :
動け動けウゴウゴ2ちゃんねる :03/11/18 20:58 ID:zKR4W/ii
よし揚げてみるか。
乙〜
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。