2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 : ◆Chacha.PkA :03/05/16 15:51 ID:Ysz+WCxa
read.cgi の作り直しや、2ch 特化型サーバの構築など、
一連のプロジェクトに並行する形で bbs.cgi の作り直しプロジェクトも発足です。

http://qb.2ch.net/test/read.cgi/operate/1047840578/287-319

参考 >>2-5

2 : ◆Chacha.PkA :03/05/16 15:51 ID:Ysz+WCxa
関連スレ
■ 新しいサーバで read.cgi が正しく動かない問題。
http://qb.2ch.net/test/read.cgi/operate/1047840578/
2ch特化型スペシャルサーバ構築大作戦
http://qb.2ch.net/test/read.cgi/operate/1052923573/
2ちゃんねる専用DNSサーバ関連スレ
http://qb.2ch.net/test/read.cgi/operate/1052479294/

3 :名無しさん@お腹いっぱい。:03/05/16 15:52 ID:Ysz+WCxa
319 名前:BG ★[sage] 投稿日:03/05/16 15:38 ID:???
 まずは基本思想からだから
 この板に別スレッドでのんびり話し合って行くっていうところでしょうか、

 1) 基本思想
 2) 基本設計
 3) 詳細な設計 → モジュール別にコード書き
   (ここでさまざまな方法が試される、連投規制とか)
 4) 組み上げ
 5) テストー

 ってな流れになるのでしょうか。

4 : ◆rafale0Mno :03/05/16 15:54 ID:3Eh+WwMU
関連スレ
■ お手伝いさん募集中。。。
http://jbbs.shitaraba.com/computer/bbs/read.cgi?BBS=2095&KEY=1050545010

★ read.cgi 作り直し大作戦 〜愛は2chを救う〜
http://jbbs.shitaraba.com/computer/bbs/read.cgi?BBS=2095&KEY=1051177958

5 : ◆Chacha.PkA :03/05/16 16:05 ID:Ysz+WCxa
315 名前:BG ★[sage] 投稿日:03/05/16 14:37 ID:???
 んじゃ案を

 案 ver0.001

 main()
 {
 SETTING.TXT 読み込み();
 規制関連();
 datに追記();
 subject.txt更新();
 /*subback.html更新();*/
 }

まずはこんな感じに、bbs.cgiの処理に関する案を出して頂きたいです。
または、それに関するコメントなどもお願いします。

6 : ◆MUMUMUkopk @むむむ ★:03/05/16 16:49 ID:???
記念。どんどん増えるプロジェクト(以下略。

7 :名無しさん@お腹いっぱい。:03/05/16 16:56 ID:3FRPcNog
二兎を…(以下自粛

8 :BG ★:03/05/16 16:57 ID:???
虻蜂・・・(以下自粛

9 :名無しさん@お腹いっぱい。:03/05/16 17:08 ID:3FRPcNog
ぐぅ、即レスが飛んできてる。
水を差して、正直スマンかった。

10 : ◆rafale0Mno :03/05/16 17:14 ID:3Eh+WwMU
しかし優先順位は決めておいたほうがいいかも。

11 : ◆Kinen/LLFY :03/05/16 17:14 ID:6B0ky/8u
下手な鉄砲数打ちゃ(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が好きな人はここで開発してれば良いし。
やりたい人がやりたい事をやれる範囲でやるだけじゃん。
全部やれなんて誰も言ってないでしょ。

14 :名無しさん@お腹いっぱい。:03/05/16 18:17 ID:PgTNJfeY
開発言語はCなんですか?Perlじゃなくていいの?


15 :名無しさん@お腹いっぱい。:03/05/16 18:26 ID:wdsgC9Vl
どうやらさんが弄れなくなっても大丈夫?

16 :ぼるじょあ ◆yEbBEcuFOU :03/05/16 18:30 ID:+JuP1QOr
(・3・) エェー ぴろゆきってC読めるNO〜?

17 :BG ★:03/05/16 18:30 ID:???
>>15
このさい、その方が・・・ (以下自粛

18 :proxy117.docomo.ne.jp:03/05/16 19:03 ID:8NVQj+hS
携帯関連で書けない人とか、どうやらさんに救済してもらった(最近だと味ぽん)こと考えると、
一携帯ユーザとして、どうやらさんがいじれなくなるのは痛いですな。

19 :名無しさん@お腹いっぱい。:03/05/16 20:16 ID:un9NtoUg
>>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
現行バージョンを作った人はつい最近引退しました

24 : ◆Chacha.PkA :03/05/16 20:42 ID:Ysz+WCxa
では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) 正規表現をつかっての比較しまくり

アクセス規制を別サーバにするってのを考えていたりします。
ポートチェックがしなくてすむように、、


28 :名無しさん@お腹いっぱい。:03/05/16 20:54 ID:AxtM7wBZ
/html って必要なんでしょうか?
index.html を読み込んで再利用すれば、かなりHDヘッドシークも減ると思うんですが。
ついでに、head.txt とか広告関係も再利用できるのでファイルアクセス回数は減ると思います。

29 : ◆MUMUMUkopk @むむむ ★:03/05/16 20:56 ID:???
>>20
Perlだと、最初の起動コストがでかいすね。
特に連想配列とか使ってると。起動してしまえば軽いですが。

あと、system() や ` ` でのプロセス起動はコストが大きいので、
できるだけ使用を控える方向がいいかも。
できるだけライブラリ使うか、どうしてもプロセス起動が必要な時もsystem()は
使わないようにする方向で。

>>22
lookupはDNSがうまく動けば(って私かぁ)それなりになんとかなるか。

比較しまくりは、比較(マッチング)アルゴリズムを工夫するとか、>>27 みたいに
別サーバを立てるとか、でかいテーブルがあるならリニアサーチじゃなくて
ハッシュしてみるとかか。

# 今午後2時前。ちょっとお疲れモード。

30 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/16 20:56 ID:???
/htmlの中には、index.htmlに表示される各スレッドの書きこみ10個分のテーブルが
スレッドごとにファイルとして入ってます。
http://qb.2ch.net/operate/html/1047840578.html

31 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/16 20:58 ID:???
proxy制限のマッチングが、ひたすらリニアにやってるんで、
そこらへんのマッチングのアルゴリズムをperlでやってる例とかあればいいんですが、、、


32 :ぼるじょあ ◆yEbBEcuFOU :03/05/16 21:04 ID:+JuP1QOr
(・3・) エェー ひとつ知りたいんでつが、書き込みが集中すると bbs.cgi のプロセスが
     同時にいくつも起動されている状態になるんでしょうかNE?

33 :BG ★:03/05/16 21:06 ID:???
top で見ていると
bbs.cgi が数十(100は行っていないかな)見えます。
同様に read.cgi , r.i も沢山起動されています。 

#以上 live5 サーバ内からお送りいたしました。

34 :名無しさん@お腹いっぱい。:03/05/16 21:07 ID:AxtM7wBZ
>各スレッドの書きこみ10個分のテーブルが
これとほぼ同じ物が、index.html内に有ると思うんですけど
index.htmlを丸ごと読み込むので、メモリ効率は悪くなるんですけどね。。。

35 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/16 21:12 ID:???
index.htmlは読みこまないですよ。。。
index.htmlをつくるために、各スレッドの書きこみ10個分のテーブルをくっつけてるわけです。


36 : ◆MUMUMUkopk @むむむ ★:03/05/16 21:14 ID:???
>>31
でかいテーブルを上からなめてるってことすか。
お手軽にやるなら、DB_File (Perl5系なら標準装備)とかかな。
これで、データベースがハッシュ化されるので、テーブルがでかいなら
高速化とコスト低下が見込めるかと。

ちょっとぐぐると、こんなのが。
私はプログラミングはプロじゃないので、参考ということで。
こっち方面はもっとくわしい人がいっぱいいる気がする。

http://member.nifty.ne.jp/hippo2000/perltips/db_file.htm
http://www.hotwired.co.jp/webmonkey/code/97/37/cgi.html
http://www15.xdsl.ne.jp/~vfr/debian/old/cgiperl.shtml

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
そです。

39 : ◆Chacha.PkA :03/05/16 21:22 ID:Ysz+WCxa
>>34
index.html内のものは、
BBS_THREAD_NUMBERで設定されている個数分のテーブルしかないですよね?
下のほうのスレが上がったときは、datからBBS_CONTENTS_NUMBER分のテーブルを作って、
一番古いテーブル削除→新しいテーブル追加
という風にすると?

40 :名無しさん@お腹いっぱい。:03/05/16 21:23 ID:AxtM7wBZ
説明がへたくそでごめん(´・ω・`)

index.html 内にある各スレッドの表示部分をそのまま使えばいいんじゃないかと
/html は使わずに、代わりにindex.htmlを使う。

うまく説明できない。・゚・(ノД`)・゚・。

41 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/16 21:27 ID:???
テーブルは削除してないです。
毎回、呼ばれるdatに対応したhtmlがよばれてはっつけられてます。
>>39

index.htmlは時々ぶっ壊れるんですが、
書きこみをすれば直るという方法で、
ほとんどのユーザーは気づいてないんです。
なので、index.htmlは参照するにはちょっと安定性にかけてたり、、、


42 :名無しさん@お腹いっぱい。:03/05/16 21:27 ID:AxtM7wBZ
>>39
そうです〜
書き込みスレッド以外は、変化しないわけですか。

#難しいな説明するのって(´・ω・`)

43 :名無しさん@お腹いっぱい。:03/05/16 21:30 ID:vuLVezHu
>>42
http://www.bq--3ayiomcfao4tbgzqq4.to/www/project/youjyo/hacker/hajihac/
の下の方にある「index.html高速化」ってことだね。

44 : ◆Chacha.PkA :03/05/16 21:33 ID:Ysz+WCxa
>>41
そうなんですよね、
一度壊れてしまうと、修正が自動に聞かないところが大変なんですよね…
>毎回、呼ばれるdatに対応したhtmlがよばれてはっつけられてます。
となると、BBS_THREAD_NUMBERが100とかの板で、回転が速いと、
物凄いI/Oになってますね。
例えば、sageのレスがされたときは、
**********.htmlを更新しないとかは付け焼刃でしょうか。

45 : ◆Chacha.PkA :03/05/16 21:34 ID:Ysz+WCxa
>44
ああ、これじゃだめですね。

46 :名無しさん@お腹いっぱい。:03/05/16 21:35 ID:AxtM7wBZ
index.htmlが壊れた時は、</html>が消えるので検知できるとおもうです
その時は現状と同じように作り直せば?、、、ってだめかな(;・∀・)

>>43
ですね近いです。

47 : ◆MUMUMUkopk @むむむ ★:03/05/16 21:35 ID:???
>>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は入ってました。
いけそうな予感。。


50 :名無しさん@お腹いっぱい。:03/05/16 21:49 ID:ImUOaroj
sageでもレス数があるからsubject.txt更新してない?。。

51 :名無しさん@お腹いっぱい。:03/05/16 21:51 ID:AxtM7wBZ
http://katharsis.s20.xrea.com/bbs/ta/type_a/

説明があれなんで貼っちゃいます、勉強がてら造ってたものです
解析と言うより、分割ですね。。。
ソースを見てください、区切りを入れてあります。

で、内部処理よりもI/O処理の方が負荷が高いと思うんですが・・・

#素人が口を出すもんじゃない事がよくわかった(´・ω・`)


52 :名無しさん@お腹いっぱい。:03/05/16 21:51 ID:HlsmlRX5
なんでどうやらさんが真面目なこと言ってるんだ?

53 : ◆MUMUMUkopk @むむむ ★:03/05/16 21:51 ID:???
>>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の場合は無視してたんですが、
最近は更新してるかも、、、というかここらへんは
誰がさわってたのかもよくわかってなかったり。

55 : ◆Chacha.PkA :03/05/16 21:53 ID:Ysz+WCxa
>>49
丁寧な解説ありがとうございます。
実は /html は現在使わせて頂いているので、
廃止になるとちょっと困った所だったんです。

ところで、*********.htmlは、追記で処理されていますか?
それともdatから作り直していますか?
以前bbs.cgiでhtmlを生成して、read.cgiの負担を減らすという試みがあったような気がしまして、
それなら、スレッド全体をhtml化というのも考えられなくはないかと…

56 :7M. ◆dq7M./4Uw. :03/05/16 21:53 ID:PnvFRmAW
>>54
確かに昔は更新されてませんでしたねぇ。

57 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/16 21:56 ID:???
datの書きなおしがあったときに、
.htmlはつくりなおしてます。

じつは、sports2で、read.cgiをつかわないで、
全部html表示にしちゃうという実験をしようかと思ってたりしてるんですが、
面倒なのでそのまんまになってます。。。


58 :サザン ◆IDaU21y6wI :03/05/16 21:57 ID:SinMu5EZ
おもしろそうだ。

>>57
やっちゃえー、

59 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/16 21:57 ID:???
んじゃ、つくってください。。。>サザンさん

60 :7M. ◆dq7M./4Uw. :03/05/16 21:59 ID:PnvFRmAW
ふむ。。。
書き込みがあったスレッドの吐き出し部分をdatからhtmlにするのか。
やってみていい?(おいらのスクリプトでだけど。

61 :サザン ◆IDaU21y6wI :03/05/16 21:59 ID:SinMu5EZ
お、そんなこと言われると本気になったり。。

62 :7M. ◆dq7M./4Uw. :03/05/16 22:01 ID:PnvFRmAW
>>61
あ、そう?ぢゃ、任した…(逃

63 : ◆MUMUMUkopk @むむむ ★:03/05/16 22:02 ID:???
実際のプログラミングは、たぶん >>60-61 の方々がサポートしたほうがよさそうすね。
私は「こんなモジュール使えばいいんじゃないの」とか
「こんなふうにすれば負荷下げられるんじゃないの」って言うのがせいぜい。

64 :サザン ◆IDaU21y6wI :03/05/16 22:04 ID:SinMu5EZ
>>62
いやいやいや、みなさんで一緒にやりましょーヽ(´ー`)ノ

65 :BG ★:03/05/16 22:04 ID:???
結構懐疑的な私。。。
枝葉より思想の議論が先だと思うけど。

>>3 の 3) の話かな、この辺の議論は。

#じじぃがでしゃばってみました。

66 : ◆MUMUMUkopk @むむむ ★:03/05/16 22:09 ID:???
>>65
じじぃその2も同意すね。

・要求条件と最終目標を明確にして
・実現するためにはどういう形にすればいいのかを考えて
・中身を詰めて
・合体させて
・動かす

っていうのは、やはり王道かと。

67 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/16 22:10 ID:???
司会ががんばらないと、、、>BGさん

68 :BG ★:03/05/16 22:11 ID:???
うっ


#歌でも歌いますか。

69 : ◆Chacha.PkA :03/05/16 22:12 ID:Ysz+WCxa
オープンソースでわいわいやるのがいいかもですねー >>64
私も微力ながらお手伝いできるかもしれませんし

70 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/16 22:15 ID:???
個人的には、DBを使わないで、perlで検索をするアルゴリズムを誰かに書いてほしい。。。


71 :BG ★:03/05/16 22:19 ID:???
まだ始まったばかりだから、当面わいわいがやがややるとして
現状の把握って言うのもきっと大切だろうから
どんどん管理人に聞いて見るのが良いのかな。

わたしも知っているところは答えられると思います。

現状の認識という点では、
live , ex 系を除いては、まぁまぁ資材の投入でカバーできているんだと思います
live , ex 系は突然の負荷上昇のある板が集まっています。
ピーク時に合わせて資材の投入はあまりにも無駄なので
なんとか別の方法でというのがこれら関連議論がスタートした動機です。

72 :ぼるじょあ ◆yEbBEcuFOU :03/05/16 22:19 ID:+JuP1QOr
(・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で速くなるんなら、それでもいいと思いますー。


80 :7M. ◆dq7M./4Uw. :03/05/16 22:25 ID:DXmqbAjE
open(PHOST,"<$pxck");
foreach(<PHOST>)
{
chomp($_);
$HOST =~ /$_/i and Error("ERROR!","公開PROXYを使っているかアクセス規制です!!");
}
close(PHOST);
こっちのほうが若干早い…かもしれない。

81 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/16 22:25 ID:???
どうやってスキップさせるか、、ってのが
なかなか難しいわけで、、、

82 : ◆Chacha.PkA :03/05/16 22:26 ID:Ysz+WCxa
>>77
eq だと、地域限定とかができないから、どうしても /$_/i になってしまうかと思います…

83 :7M. ◆dq7M./4Uw. :03/05/16 22:27 ID:DXmqbAjE
>>81
めぢゃーなISPっぽい名前がホストに入ってたらすきっぷ…
とか?
でも串規制とアクセス規制が一緒なのか…

84 :BG ★:03/05/16 22:27 ID:???
「C 読めますカー」と聞いたら

「右」と答えたのは・・・・・

85 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/16 22:27 ID:???
うーんと、、書き方で微妙に速くなるのはわかるんですが、
foreach(<PHOST>) でリニアにやってる部分を
なんらかのソート手段でできるといいなぁ、、と。


86 : ◆Chacha.PkA :03/05/16 22:27 ID:Ysz+WCxa
>>75
この処理は、ポートチェックをクリアしたホストに適用されているのですか?

87 :BG ★:03/05/16 22:27 ID:???
んで、分離すべきかと、 >>83


88 :7M. ◆dq7M./4Uw. :03/05/16 22:28 ID:DXmqbAjE
>>85
んむ。
そうゆうことですか。。。

89 :サザン ◆IDaU21y6wI :03/05/16 22:28 ID:SinMu5EZ
>>84
ワラタ

bg3 が実験板になる予感。。
というかなります。

90 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/16 22:28 ID:???
>めぢゃーなISPっぽい名前がホストに入ってたらすきっぷ
一応やってたり。。。

91 : ◆Chacha.PkA :03/05/16 22:28 ID:Ysz+WCxa
>>85
例えば、プロキシリストを、最初の頭文字で別ファイルにしてみるとかどうですか?

92 :BG ★:03/05/16 22:29 ID:???
>>86
ポートチェックの方がコスト高いから
ポートチェックはそのあとかと、もう少し条件絞られているはず。

93 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/16 22:29 ID:???
>>86
ポートチェックはそのあとです。
そこで引っかかれば、ポートチェックしないです。


94 : ◆MUMUMUkopk @むむむ ★:03/05/16 22:30 ID:???
>>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:???
1000行ぐらい、、、>>94

97 :名無しさん@お腹いっぱい。:03/05/16 22:31 ID:PgTNJfeY
>>95
もうちょっと細分化してみてはどうなの?

98 :7M. ◆dq7M./4Uw. :03/05/16 22:32 ID:DXmqbAjE
>90
うーん。。。そうなのか。、

99 :ぼるじょあ ◆yEbBEcuFOU :03/05/16 22:32 ID:+JuP1QOr
(・3・) エェー ボクはCはわかるけど、Perlは和漢ないんですYO
     Cで作る部分は、汎用的で、将来に渡って仕様が変わらないと思われる処理部分を作るべきかと。
     正規表現のマッチング処理なんかも、Cの方が早ければCで書いたほうが
     いいかなと思ったんですYO
     

100 :BG ★:03/05/16 22:32 ID:???
>>90
現状、そうでもないような気がしたけど、
最新の見てないので、分かりませんが。

ほとんどの書き込みが普通の書き込みだから
本当はなにもしない方が良い。

1) プロ串のリストとのマッチング
2) リモホのルックアップ(ちょっと微妙かな)
3) ポートチェック


101 :BG ★:03/05/16 22:34 ID:???
わたしゃ
全部Cをたくらんでいたりして、
あわよくばmod_bbs.cgi

102 : ◆MUMUMUkopk @むむむ ★:03/05/16 22:35 ID:???
とっても簡単にいうと、>>91 のようなことをシステム内でもっとうまくできるのが、
DB化ってことすね。
あるエントリが、あるでっかい(行単位とかの)ファイル中にあるかどうか探す
(とっても簡単に言ってしまえば、grepコマンドのようなことをする)
なんていう処理は、DB_Fileの最も得意とするところですね。

>>96
わーお。



103 :名無しさん@お腹いっぱい。:03/05/16 22:43 ID:IpG1C8kR
あー、単純な検索の手法を流用すれば済むかと思ったら、
全部に正規表現でのパターンマッチングを行う必要があるわけですね…。

104 :名無しさん@お腹いっぱい。:03/05/16 22:44 ID:PgTNJfeY
例えば、以下のようなリストがあるとして、
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使わない計画で。


105 :BG ★:03/05/16 22:45 ID:???
むしろ管理人には思想的なことを聞いたほうが良いと思うのだが、

1) アクセス規制は今よりももっと増やしても良い。(ISP全体じゃなくてだけど)
2) 投稿内容によって弾くこともより増やしたほうがよい(宣伝URLとか)
3) 公開プロ串規制は、こんなもんだと思っている
4) 1)に関連して、アクセス規制は部隊まで作ってでももう少しやりたい
5) 今年の夏はサーフィンに挑戦したい。


106 :DDT ◆BDDDT/OREE :03/05/16 22:45 ID:zz8UOpTo
むむむのおっさんはスペインまで行ってこんな事やってるのはいかがなものか。

107 :名無しさん@お腹いっぱい。:03/05/16 22:49 ID:PgTNJfeY
1) システムメンテナンスは出来るだけ自分でも出来るようにしておきたい
2) やれと言われれば、知らない言語でも習得する
3) 今年の夏はぜひとも月旅行

108 : ◆MUMUMUkopk @むむむ ★:03/05/16 22:50 ID:???
>>106
こんなへんぴなとこまで、わざわざストーキングごくろうさん。
こんなことも息抜きのうち。
で、息抜きばかりの不良社員はそろそろ会議に戻るとしようか。

109 :サザン ★:03/05/16 22:50 ID:???
どうやらさんはDBに興味をお持ちになったようです。

110 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/16 22:50 ID:???
>1) アクセス規制は今よりももっと増やしても良い。(
アクセス規制を2段階に変えようかと思ってたりして、、、
wellknownホストに関しては、今までどおりで、
.mzとか変なところは、一律禁止にしてアカウント制にするのもありかなぁと。

>2) 投稿内容によって弾くこともより増やしたほうがよい
いたちごっこなのでホスト規制を増やして対応予定。

>4) 1)に関連して、アクセス規制は部隊まで作ってでももう少しやりたい
そうかも。


111 : ◆MUMUMUkopk @むむむ ★:03/05/16 22:51 ID:???
ちなみに、ひとコマ出席しなきゃいけない会議があいたのよ(素)。
で、たまったメール処理しながら、たまにのぞいてるのだ。

112 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/16 22:51 ID:???
>1) システムメンテナンスは出来るだけ自分でも出来るようにしておきたい
おいらが一切触らなくてもいいなら触りたくない。

>2) やれと言われれば、知らない言語でも習得する
微妙。。

>3) 今年の夏はぜひとも月旅行
まずは、ワイハーからですな。

113 :名無しさん@お腹いっぱい。:03/05/16 22:53 ID:cJkcNrMP
>>104
んなことしなくても、
あらかじめソートしておいて、二分探査すればいい。

114 :名無しさん@お腹いっぱい。:03/05/16 23:01 ID:HAw3kirX
>>113
規制リストがソートしてあっても HOST=aaa.xxx.ne.jpのとき、
xxx.ne.jpを探すのは困難では?

aaa.ne.jp
bbb.ne.jp
xxx.ne.jp

115 :あぼーん:あぼーん
あぼーん

116 :名無しさん@お腹いっぱい。:03/05/16 23:05 ID:s8S+J8Sf
新しいbbs.cgiでも???(ゔぐ〜)出来るようにして欲しいな…。

117 :名無しさん@お腹いっぱい。:03/05/16 23:05 ID:Xno9LbtI
猛者がいるな

118 :名無しさん@お腹いっぱい。:03/05/16 23:06 ID:s8S+J8Sf
出来なかった…。

119 :名無しさん@お腹いっぱい。:03/05/16 23:06 ID:cJkcNrMP
>>114
文字列の後ろの方から逆方向にソートすればいいじゃん。

120 :名無しさん@お腹いっぱい。:03/05/16 23:06 ID:iSiZoDch
単純一致やIPアドレス一致でいいならbinary searchがベストだと思うけど、
正規表現や部分一致が不可能だからねえ。

121 : ◆Chacha.PkA :03/05/16 23:09 ID:Ysz+WCxa
ドメインのレベルごとにリストを構築するのは大変でしょうか…?
いったん構築してしまえば、あとは追加、削除の繰り返しですし。

122 :名無しさん@お腹いっぱい。:03/05/16 23:10 ID:iSiZoDch
>119
なるほど、それは面白いかも。
正規表現は使ってないのかな?使ってなければやれるかも。

123 : ◆cZfSunOs.U :03/05/16 23:14 ID:3p/pQnrG
PostgreSQL とか言ってみるテスト.

http://www.postgresql.jp/document/pg721doc/user/datatype-net-types.html
http://www.postgresql.jp/document/pg721doc/user/functions-net.html

124 :仕様無しさん ◆ukNwLv.g/w :03/05/16 23:18 ID:jP9uEIkI
リストの内容によっては、perlに面倒なことを押し付けて、
以下のような感じでできないかな? かえって遅くなるかもしれないけど。

open(PHOST,"<$pxck");
my @PIP = <PHOST>;
close(PHOST);
$INH = '(' . join( ')|(', map {chomp} @PIP ) . ')';
if($HOST =~ /$INH/i)
{
Error("ERROR!","公開PROXYを使っているかアクセス規制です!!");
}


125 :仕様無しさん ◆ukNwLv.g/w :03/05/16 23:20 ID:jP9uEIkI
訂正:
$INH = '(' . join( ')|(', map {chomp} @PIP ) . ')';

$INH = '(' . join( ')|(', map {chomp;$_} @PIP ) . ')';

126 :名無しさん@お腹いっぱい。:03/05/17 00:03 ID:XY2PIC22
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のファイルをロック解除

とか無責任に書いてみる。

127 :ぼるじょあ ◆yEbBEcuFOU :03/05/17 00:40 ID:X7htdr1x
(・3・) エェー ファイルのロックはOSにまかせてるんじゃないかNAと言ってみるテスト

128 :名無しさん@お腹いっぱい。:03/05/17 00:48 ID:BJ/UiKAP
>>127
複数のプロセスが同時に動いてる時に、ファイルが他のプロセスにより
ロックされてた場合、処理をスキップすることで負荷を低減するという
策なんじゃないかな?

だから、時間のかかる処理に入る前に、書き換える予定のファイルを
まとめてロックしちゃうと。

129 :名無しさん@お腹いっぱい。:03/05/17 04:20 ID:Ag2GCfMt
2ちゃんってこんなふうにじたばたつくってるんだすげー。
ということがわかった記念ぐりこ

130 :いらいくん ★:03/05/17 09:07 ID:???
>>108
ソーセージでも食いながら頑張って下さい。

131 :特攻総長 ◆33aKImDcPg :03/05/17 16:19 ID:70Xfbway
私も参加してよろしいですか?
今からLOG読んでいろいろとやってみようと思うんですが。。。

132 :名無しさん@お腹いっぱい。:03/05/17 16:25 ID:vxJfrmz7
プロキシリストをメモリ内に取り込んじゃえ。

133 :名無しさん:03/05/17 16:31 ID:Fd3LpmGc
スレ順位がBBS_THREAD_NUMBERの数値より下にあるスレは /bbs/html/**********.html は触らないとか。
pageview.cgiが無い今、下位のスレは必要ないじゃん。


134 :名無しさん:03/05/17 16:36 ID:Fd3LpmGc
〜数値より下にあるスレのsage書き込みは


135 :ずぶ ◆PHZUBUXUug :03/05/17 18:11 ID:Ddlgnzzu
規制リストって,ディスク内でいったん一つにまとめてメモリに読み出し,
ホスト名の後ろから照合する事は可能でしょうか?

例えば書き込まれたホストがXXXX.aaa.bbb..co.jpだとすると,
まず.jpを照合(.jp以外規制)し,ついで.co.jp(これはスルーできれば
良いですが),そして.bbb.co.jp(一括プロバイダ規制など)と言った具合に。
ホスト名の分割でどれくらい負荷が出るかにも寄りますが,
照合の手順が減るようにも思えるのですが…

136 :名無しさん@お腹いっぱい。:03/05/17 18:48 ID:pi5MGGYm
規制リストが単純に後方一致でいいなら、
一つずつ照合しなくてもいいんだけどな。

137 :名無しさん@お腹いっぱい。:03/05/17 18:53 ID:vxJfrmz7

電波発信者 → 規制リストチェック鯖 → 該当無し → bbs鯖に接触
  ↑           ↓
 「帰れ!!」 ← 限りなく黒

138 :ずぶ ◆PHZUBUXUug :03/05/17 19:09 ID:Ddlgnzzu
>>137
規制チェック用の鯖だと,かえって負荷が集中して落ちると
思うんすけど。。。


139 :ずぶ ◆PHZUBUXUug :03/05/17 20:51 ID:Ddlgnzzu
>>135
既出ですた。スマソ…

140 :特攻総長 ◆33aKImDcPg :03/05/17 20:56 ID:70Xfbway
規制リストチェック鯖を二つ用意して分散させるとか・・・
一つだとやっぱり集中しますしね〜。

141 :●゜、⊃゜) ◆13ThomasYo :03/05/17 22:17 ID:aG0TjYyT
なんでDB化しないんだろう。
deny listもレスもDB化しちまえばいいのに。

142 :名無しさん@お腹いっぱい。:03/05/17 22:40 ID:990QnyRH
DB化って何ですか?

143 :名無しさん@お腹いっぱい。:03/05/17 22:58 ID:Agm+uIJg
データベース

144 :名無しさん@お腹いっぱい。:03/05/17 23:01 ID:QT+MuNh9
>142
星の入った珠を7つ集めて願いをかなえてもらうこと

145 :名無しさん@お腹いっぱい。:03/05/17 23:19 ID:Ag2GCfMt
>>142
アイコラで巨乳にすること

146 :名無しさん@お腹いっぱい。:03/05/17 23:42 ID:agjC5FTq
>>142
回を重ねるごとに戦闘力が無闇に上がっていくことです。

147 :名無しさん@お腹いっぱい。:03/05/18 01:19 ID:tqhsQp56
>>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(" ", ...);
}
}

正規表現のマッチを文字列先頭からに限定できるのでだいぶ良くなるはず。


148 :名無しさん@お腹いっぱい。:03/05/18 01:25 ID:tqhsQp56
あ゛
if($HOST =~ /^$_/;)

if($HOST =~ /^$_/i)



149 :名無しさん@お腹いっぱい。:03/05/18 01:31 ID:YztWOy56


150 :名無しさん@お腹いっぱい。:03/05/18 01:32 ID:n3lDY8Qu
処理量のオーダーが変わってないだろ。
申し訳ないが、馬鹿じゃないの?

151 :名無しさん@お腹いっぱい。:03/05/18 01:33 ID:n3lDY8Qu
ごめん、アルコール入ってて言い過ぎた。
普段思ってても書き込まないようなことを書いちゃった。
150は取り消しで…。

152 :●゜、⊃゜) ◆13ThomasYo :03/05/18 01:35 ID:dpexnWxD
ていうか、

>(二分探索木とか難しいことはだれかおながいしまぁ〜す)

Bサーチが難しいこととか思ってるような人は黙ってる方が吉。

153 :名無しさん@お腹いっぱい。:03/05/18 01:42 ID:YztWOy56
Bサーチていうな

154 :名無しさん@お腹いっぱい。:03/05/18 02:36 ID:2hKGU/PH
ここのスクリプト、頼んで分けてもらったら?
ttp://kari.to/


155 :名無しさん@お腹いっぱい。:03/05/18 04:42 ID:cW0UA6Xf
sourceforge化して開発者あつめるとか・・・

156 :仕様無しさん ◆ukNwLv.g/w :03/05/18 11:18 ID:NzaSTo1K
>>75,80,124,147を実測してみた。
http://www.geocities.co.jp/SiliconValley-Bay/8921/kisei.tgz
どんぶりのせいくらべ状態...

157 :名無しさん@お腹いっぱい。:03/05/18 11:23 ID:9lu5OUzj
>>155
おもしろそうですね。真剣に軽量化を目指して改良する人もいれば、
真剣に2chに深刻な打撃を与える研究をする人もでてくる(^^;;


158 :けんすう ◆mTj9hjLz9w :03/05/18 12:15 ID:l0BtGKVq
>>154
(仮)のスクリプトってrubyでしたっけ?

おもしろいことやってる掲示板だとは思うんですが、
今だに使い方がわからないです、、

159 :名無しさん@お腹いっぱい。:03/05/18 15:30 ID:vuT4yR/Q
とりあえずデータは全部メモリに常駐させとこう。

160 :7M. ◆dq7M./4Uw. :03/05/18 15:48 ID:BUGKpdvl
>>156
おちかれーしょん。
124cが一番早いのか…(まぁ確かにどんぶりの背比べ感も…

161 :●゜、⊃゜) ◆13ThomasYo :03/05/18 15:55 ID:dpexnWxD
ドングリの背比べっつーか、124以外は全部O(N)じゃん。

162 : ◆cZfSunOs.U :03/05/18 15:58 ID:uRokzo32
規制IPリストをメモリ上に保持しておくような Apache モジュール作ってみるかな.
まぁ政治的(?)にはモジュール追加するのは難しいんだろうけど......

163 :●゜、⊃゜) ◆13ThomasYo :03/05/18 16:07 ID:dpexnWxD
常にメモリに置いておけるならハッシュが最強だろな。

164 : ◆n3D69Zsbfg :03/05/18 16:18 ID:+DzCHWQW
>>163
そうか? パトラッシュもなかなかだぞ。

165 :115.suba418.attnet.ne.jp ◆MUMUMUkopk :03/05/18 16:20 ID:a0mQO79e
>>164
くすくす。なんだか予想通りの発言で笑える。
# さきほど無事帰国しますた。ビジネスにうpできたyo。

166 : ◆n3D69Zsbfg :03/05/18 16:26 ID:+DzCHWQW
>>165
お疲れ様ー


167 :●゜、⊃゜) ◆13ThomasYo :03/05/18 16:27 ID:dpexnWxD
>>164
フランダースの犬には後日談があってな。
凍死したネロの死肉を食って生き延びたパトラッシュが復讐を誓って魔犬となり、ネロを
虐げた人々を襲っては喰うのだ。

168 :名無しさん@お腹いっぱい。:03/05/18 16:33 ID:4dQwQ6cG
>163
完全一致じゃないものからどうやって?
>164
俺はセブンラッシュがいい。コンチIII最強。

169 :ヽ(  ̄∀ ̄)ノ ◆SEED/jTl1k :03/05/18 16:37 ID:85msoj1L
>>167
((((゚Д゚;))))ガタガタブルブル

170 :●゜、⊃゜) ◆13ThomasYo :03/05/18 16:41 ID:dpexnWxD
>>168
+-jp
| +-co
| | +-xxx
| | |
| | +-yyy
| +-or
|  +-zzz
+-to
|



171 :●゜、⊃゜) ◆13ThomasYo :03/05/18 16:42 ID:dpexnWxD
>>169
SEEDこんなとこにも来てるのか(w

172 :仕様無しさん ◆ukNwLv.g/w :03/05/18 16:43 ID:NzaSTo1K
>>160
IDがバグ持ち...

173 :仕様無しさん ◆ukNwLv.g/w :03/05/18 16:45 ID:NzaSTo1K
>>170
ぽかーん
ハッシュって何かわかってる?

174 :名無しさん@お腹いっぱい。:03/05/18 16:46 ID:4dQwQ6cG
>170
意味わかんね。ハッシュって知ってるよね?

175 :●゜、⊃゜) ◆13ThomasYo :03/05/18 16:47 ID:dpexnWxD
>>173
>>170の図を見て各ノードでハッシュ生成するくらいのことはわからんか?

176 :名無しさん@お腹いっぱい。:03/05/18 16:48 ID:4dQwQ6cG
つーかさ、どうやってハッシュ値生成すんの?
リクエストのリモホをドメインで区切って
すべてについて比較するっていうなら、わからないでもないけどさ。

177 :名無しさん@お腹いっぱい。:03/05/18 16:48 ID:ruAGg1+6
bbs.cgi を機能ごとに分割して…



だめだな。

178 :●゜、⊃゜) ◆13ThomasYo :03/05/18 16:52 ID:dpexnWxD
>>176
違うの?

179 :名無しさん@お腹いっぱい。:03/05/18 16:53 ID:4dQwQ6cG
だって>170の図はどう見てもただの木じゃん。
全然ハッシュと関係あるように見えない。

180 :名無しさん@お腹いっぱい。:03/05/18 16:54 ID:4dQwQ6cG
しかも区切ってるのは規制リストの方だし。

181 :仕様無しさん ◆ukNwLv.g/w :03/05/18 16:56 ID:NzaSTo1K
http://qb.2ch.net/test/read.cgi/sec2ch/1004308075/l50
みたいなのもあるから、あかんのだよ。

182 :名無しさん@お腹いっぱい。:03/05/18 17:00 ID:4dQwQ6cG
なるほど、場合によってはリモホの文字数分だけ比較しなきゃいけないか。
(規制リストには後半の一致部だけ入れといて)
だったら下手すると2分探索の方が速そう。

183 :●゜、⊃゜) ◆13ThomasYo :03/05/18 18:37 ID:dpexnWxD
やっぱDB化して
SELECT * FROM T_DENY WHERE HOST LIKE '%xxx.ne.jp';
とかかの。

184 :仕様無しさん ◆ukNwLv.g/w :03/05/18 19:12 ID:NzaSTo1K
>>183
偉そうな事言っといて結局リニアサーチかよ!
偉そうな事言っといて結局リニアサーチかよ!

185 :名無しさん@お腹いっぱい。:03/05/18 19:12 ID:w3ef5Ze0
>>158
書き込み部がrubyで、表示部がC++らしいです。
ツリー表示云々の機能をバッサリ切れば、2ちゃんでも使えそう


186 :●゜、⊃゜) ◆13ThomasYo :03/05/18 19:35 ID:dpexnWxD
>>184
SELECT 〜 LIKEってリニアサーチなの?

187 :●゜、⊃゜) ◆13ThomasYo :03/05/18 19:38 ID:dpexnWxD
まあDBが中でどうやって探してようが、bbs.cgiが探さなくて済むならそれでいいと思うんだが。

188 : ◆n3D69Zsbfg :03/05/18 19:41 ID:+DzCHWQW
まぁ中の人ががんばっている訳だが、

189 :●゜、⊃゜) ◆13ThomasYo :03/05/18 19:45 ID:dpexnWxD
bbs.cgiをどんなにいじくってもDBの中の人以上の信頼性と安定性を得るのは難しいわけで。

190 : ◆n3D69Zsbfg :03/05/18 19:46 ID:+DzCHWQW
高速性と自己満足は得られる可能性はあるかも、


191 :M249 ◆MInImi/RF2 :03/05/18 19:46 ID:HH1ICRWy
DBにINDEXつけとけば検索早い、とかいう話?


192 :名無しさん@お腹いっぱい。:03/05/18 20:00 ID:X1uk/rD/
>>186
like使ったんじゃインデックスが効かない
つーかいくらDBの中の人に興味がなくても
それぐらいわからないと説得力ないぞ

193 :名無しさん@お腹いっぱい。:03/05/18 20:12 ID:ZCfCpxzS
そう言えば、この調子で言ったら、転送量限界達するまであと何日ぐらい?

194 :あぼーん:あぼーん
あぼーん

195 :名無しさん@お腹いっぱい。:03/05/18 20:53 ID:ZoWVW8hi
>>186-190
そろそろトーマスも限界か?

196 :●゜、⊃゜) ◆13ThomasYo :03/05/18 21:11 ID:dpexnWxD
>>190
どっちが目的なの?

>>192
>>187

197 :仕様無しさん ◆ukNwLv.g/w :03/05/18 21:18 ID:NzaSTo1K
つーかあれだ、実際に動くコード書いた上で言ってくれ。
テストデータは>>181の中にあるから。

198 :●゜、⊃゜) ◆13ThomasYo :03/05/18 21:22 ID:dpexnWxD
・規制のやり方をおおざっぱにする

という選択肢は無しか?

199 :名無しさん@お腹いっぱい。:03/05/18 21:56 ID:sDK+/dHs
>198
ひろゆきの基本思想から考えて、無理。

200 :●゜、⊃゜) ◆13ThomasYo :03/05/18 22:00 ID:dpexnWxD
基本思想って「めんどくさいことは嫌」の他に何かあったっけ。

201 :名無しさん@お腹いっぱい。:03/05/18 22:05 ID:LxaDjCgC
このスレの、
規制は部隊をつくってでもきっちりやりたい
ってやつでは?

202 :名無しさん@お腹いっぱい。:03/05/18 22:06 ID:hZV0EVGe
仕事きっちり

203 :名無しさん@お腹いっぱい。:03/05/18 22:09 ID:hZV0EVGe
>>110

204 :●゜、⊃゜) ◆13ThomasYo :03/05/18 22:13 ID:dpexnWxD
「きっちり」ってのは、
1.規制対象を漏らさないようにする
2.道連れを最小限にするようにきめ細かく設定する
のどっちなんだろう。

1なら効率化は簡単。

205 :名無しさん@お腹いっぱい。:03/05/18 22:17 ID:AA6ALSjm
つまりあれだ
鯖からケーブルを抜くんだ

206 :名無しさん@お腹いっぱい。:03/05/18 23:29 ID:YztWOy56
つまりあれだ
どうせリストを全部読み込むならFastCGIにするんだ
整理されたファイルを途中まで探索するならファイル形式を練るんだ

207 :名無しさん@お腹いっぱい。:03/05/19 09:06 ID:2Qojq86d
2だろ今の状態でも巻き添え食った奴の苦情が絶えんのだから

208 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/19 13:48 ID:???
結局、0が一番早かったんすか?>156

209 :名無しさん@お腹いっぱい。:03/05/19 14:29 ID:Jbs9N7wv
ひろゆきが、安定性やら高速性やら精密性やら
何を優先して欲しいか言わなきゃ方向が定まらないよ
とか思ってたけど、もしかすると、夜勤さんが勝手に言い始めただけでは?

んで、ひろゆきは、今のままでも特に問題無いし、再開発は特にはどうでもいい。
でも、何も口出さなくてもよくて、誰かが勝手にやってくれて、今よりいいものが出来るのなら
ラッキーだし皆頑張れ とか考えてないか? > ひろゆき

210 :名無しさん@お腹いっぱい。:03/05/19 14:29 ID:Jbs9N7wv
>夜勤さんが勝手に言い始めただけでは?
bbs.cgi再開発計画

211 : ◆n3D69Zsbfg :03/05/19 14:39 ID:NcPIoy92
>>209
bbs.cgi は私たち素人は近づいちゃいけない

神の領域なんですよ。

わかっていますか?

212 :名無しさん@お腹いっぱい。:03/05/19 15:03 ID:QVrN+NKn
           ∂
          l⌒ヽ
      ♪  i ; ; ''i
    ♪    |' : l
       ヽ(´Д`;)ノ )) キュウリキュウリ♪
        ノ 鯖. 丿
     (( (~ :; ;.ノ> ))
        ゛''' ''
     ズルズル

こんな感じで近づいてもだめ?>神の領域

213 :名無しさん@お腹いっぱい。:03/05/19 15:08 ID:AKXygBqW
>211
ひろゆきの娘(bbs.cgi)と結婚(改造)して
2chをのっとるという夜勤の野望ここに潰えるか。
地道に鯖やread.cgiを改良するしか無いような気が

214 : ◆n3D69Zsbfg :03/05/19 15:11 ID:NcPIoy92
出来ることなら、見て見ぬ振りをしたい。

うひゃひゃ

でも、なんか楽しいじゃん。わいわいがやがや。

215 :名無しさん@お腹いっぱい。:03/05/19 15:16 ID:Jbs9N7wv
これほんとにひ(略が作ったの?トオルタンだろ?
まさかな はっは〜

とりあえずおいらの希望としては、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しときました。

219 :名無しさん@お腹いっぱい。:03/05/19 22:36 ID:8S6OlxE8
>>156 試験どもです
で、
147.plなんですが、

if($HOST =~ /$_/i)
だと文字列反転した意味が出てなくて、(コードが期待する通り)75.plと
同じ結果になってます。
ま、直してもどんぶり状態はあまり変らないかもですけど。


220 :仕様無しさん ◆ukNwLv.g/w :03/05/19 23:15 ID:Aij+AdRO
>>219
ドメイン名は反転、IPはそのままで ^ を付けてやってみました。
約15秒で変わらないですねぇ。

221 :7M. ◆dq7M./4Uw. :03/05/19 23:33 ID:66ACHsQl
今の2chのスクリプトの大元作ったのはドルバッキーさんでわ?

222 :名無しさん@お腹いっぱい。:03/05/19 23:49 ID:foOIoNHf
たくさんの人に愛されてきたのですね。>bbs.cgi

223 :コナン ◆SJSEX69q3Q :03/05/20 00:00 ID:nF8WRY4x
bbs.cgiが20030519になってるわけだが・・・( ̄ー ̄)ニヤリッ

224 :名無しさん@お腹いっぱい。:03/05/20 00:01 ID:NvpxrT0H
ひろゆきさんも、大事な一人娘を愛しているんですね

225 :名無しさん@お腹いっぱい。:03/05/20 00:05 ID:FthSt6oi
NHK人形劇 ニチャンニチャン物語

226 :名無しさん@お腹いっぱい。:03/05/20 00:13 ID:S/BnmfPi
>>223
アクセスプラス規制だと思われ

227 :名無しさん@お腹いっぱい。:03/05/20 00:16 ID:96oJEnlM
>>69
(・∀・)ホホウ
http://www.domo2.net/system/ver.html
とりあえず何が変わったんだろう?
広告規制関連かしら。

228 :名無しさん@お腹いっぱい。:03/05/20 00:19 ID:vZDlrKy4
perlは久々なんだけど、何とか2分探索を実装した。
正規表現は無理だけど、前方一致でいけます。
(規制リストに example.com があったら、
www.example.comとかmail.example.comを引っ掛ける)

>>156のテストだと、2倍強くらいしか速くなってない。
多分、コードがでかくなったせいで、スクリプトのparseに時間が
かかるようになったからと思われ。

229 :名無しさん@お腹いっぱい。:03/05/20 00:20 ID:FthSt6oi
要するに、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);


232 :名無しさん@お腹いっぱい。:03/05/20 00:32 ID:2BSs0sVK
おいらこんなの作ってみた。
小さいけど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にしとかないと...とかエレガント
じゃないのがたまにきず。


233 :名無しさん@お腹いっぱい。:03/05/20 01:02 ID:bdI3yMHP
そういえば WebProg板で

last modified 2001年 12月 19日 by ひろゆき

の bbs.cgi が流出してたことがあったなぁ・・・

234 :名無しさん@お腹いっぱい。:03/05/20 01:58 ID:FthSt6oi
アラヤダ

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)だね

237 :名無しさん@お腹いっぱい。:03/05/20 02:35 ID:DKK3Skv6
処理時間が短くて済むのがハッシュの特徴だからね。
しかし、その反面メモリを大量に食うというデメリットがある。
呼び出されるたびに毎回メモリ上に大量のデータを展開するのは
呼び出しが集中するとマズい気がするが、
そこらへんはどうなるかやってみないとわからないだろうなぁ。

238 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/20 02:55 ID:???
>>231
プロキシリストは、IPじゃなくて、リモホも入ってたりします。。。
***.com以下のアクセスを全て規制みたいな、、

239 :名無しさん@お腹いっぱい。:03/05/20 02:59 ID:FthSt6oi
>>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;
}


241 :名無しさん@お腹いっぱい。:03/05/20 03:11 ID:FthSt6oi
ほんとだ。よくみたら数値比較してるっぽいな。
IPとホスト名まぜるのはもうちょっと工夫がいるな。

242 :名無しさん@お腹いっぱい。:03/05/20 03:21 ID:CcL135Kb
アルゴリズム的には、2分探索ってのは
データを順番に並べておいて
真ん中と比較してどちら側にあるかを判定し
さらにその真ん中と比較して・・・を繰り返すだけ。

で、今回の場合は、リモホの部分一致じゃなくて末尾一致でいいから
規制リストを末尾の文字から代償を比較して、順番に並べておこうと。

IPアドレスも混じっているなら
逆引きできないアドレスも全部文字列にしてから比較するか
ファイルを分けるのがよろしいかと。

243 :名無しさん@お腹いっぱい。:03/05/20 03:27 ID:siFXTzp9
リモホチェックにパスしたら昔テストしてたSPIDみたいなCookieを食わせて
以後ある程度の期間はCookieのチェックだけで済ませちゃいかんの?

244 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/20 03:31 ID:???
いやぁ、、それを実装するはずだったんですが、
時間がたってしまいました、、、>>243


245 :名無しさん@お腹いっぱい。:03/05/20 03:37 ID:siFXTzp9
>>244
( ´ー`)y-~~~

246 :名無しさん@お腹いっぱい。:03/05/20 03:37 ID:FthSt6oi
で?>>232 >>235 のバークレーDB路線はどうなの?

DB_File使えばO(1)だな
って

247 :名無しさん@お腹いっぱい。:03/05/20 03:37 ID:FthSt6oi
手がすべた、、で、どうなの?

248 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/20 03:38 ID:???
DBでの実装も試験してみますかぁ、、

249 :あぼーん:あぼーん
あぼーん

250 :Albert ◆0oQ5UKYDHU :03/05/20 03:47 ID:X6vfP9Cg
>>248職人様方の邪魔をしてしまいました。
本当にすみませんでした。

251 :名無しさん@お腹いっぱい。:03/05/20 03:49 ID:FthSt6oi
>でも、友達は後で泣きながら「なんでHPの作り方なんか教えたの?○○(私の名前)のせいじゃん!
>と言ってきて、絶交状態です。
>2ちゃんねらーは、私たちの友情も引き裂きました!

ワラタ

252 :名無しさん@お腹いっぱい。:03/05/20 03:52 ID:siFXTzp9
近頃は自動謝罪カキコ機能の付いたスクリプトがあるの?

253 :228:03/05/20 04:33 ID:vZDlrKy4
>>230-231の改良版。
mkdb.plがデータベース作成用、bsearch.plが検索用。
http://www.geocities.co.jp/Playtown-Spade/7204/bsearch.tgz

>>238
proxy_listに
example.com
192.168
とあれば、www.example.com とか 192.168.3.5
を引っ掛けるように作ってます。
IPアドレスとホスト名でマッチングの仕方を変えてます。


DB_FileつかってO(1)にするのは…
Perlハカーに実装してもらいましょう。
わたしゃPerl苦手なので…

254 :241:03/05/20 04:43 ID:FthSt6oi
>>238
やべ。。てっきり比較してるのIPの一部とかだと思ったら。。
混乱させて正直スマンカッタ

255 :232:03/05/20 11:37 ID:2BSs0sVK
>>232 はIPアドレスのときネットワークアドレスの頭から削って
比較することになってしまい、仕様的にマズイのでちょっと訂正。
それに.com規制とか考えると$lim=0にしないといけない。
んで、それらを解決したものでテストしてみた。
http://www.geocities.co.jp/SilkRoad-Ocean/4452/kisei2.tgz
結果から言うと、
HASHを作るのに単にファイル読むだけより倍以上時間がかかってる。

試しにDB_Fileもやってみた。
なんか惨憺たる結果。
こーぢんぐが悪いかも。



256 :名無しさん@お腹いっぱい。:03/05/20 12:51 ID:itSoBR7s
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);
}


257 :名無しさん@お腹いっぱい。:03/05/20 12:52 ID:itSoBR7s
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;
}


258 :名無しさん@お腹いっぱい。:03/05/20 12:56 ID:itSoBR7s
先頭が書き込めてなかった(´・ω・`)ショボーン


#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);
}


259 :名無しさん@お腹いっぱい。:03/05/20 12:59 ID:itSoBR7s
#define の所のタブの空白が消えてやがる


260 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/20 13:56 ID:???
IPアドレスを逆さにしたりする作業がありますけど、
IPアドレスやドメイン名がすでに逆さになってるリストがあるという前提
だとkisei | 33.79 33.82 33.72 33.78ってことですか?
>>255

おぉ、、Cだ、、、
DBを作るほうはなんとなくわかるんですが、
検索のほうのアルゴリズムがよくわかりません。。。


261 :rafale ★:03/05/20 14:03 ID:???
>>260
見た感じだとIPv4だったらkisei.pl内で逆さにしてるっぽいですが…

262 :232=255:03/05/20 15:49 ID:2BSs0sVK
>>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 !
みたいな感じです。

理屈はそうなんだけど、実際はしらせると重いのがなんとも...

263 :BG ★:03/05/20 16:01 ID:???
チェックしなきゃならない規制っていくつあるのだろぅか。

1) スレ立て規制。 (うまく動いている?)
2) 連投規制。 (あまりうまく動いていない?)
3) 公開プロ串規制。 (結構うまくいっている?)
4) プロ串規制(ポートチェック)。 (結構うまくいっている?)
5) jp以外規制。(YBBとかの問題?)
6) 投稿内容のチェック? (文字数とか、行数)
7) 512K超えチェック
8) 1,000超えチェック
9) 血液さらさらチェック

処理の順番とか、スキップするとか・・・
それぞれのチェックを軽くすることも勿論必要だけど。
そこが 50% 軽くなって全体にはどれくらい寄与するのか?
「処理をしない」という選択肢もあると思うのだが。

264 :名無しさん@お腹いっぱい。:03/05/20 16:03 ID:wJvFAC38
10) 毛髪チェック

265 :名無しさん@お腹いっぱい。:03/05/20 16:10 ID:itSoBR7s
>257 max = ftell(fp) / IP_LENGTH;
max = ftell(fp) / IP_LENGTH - 1; だった(´・ω・`)ショボーン


266 :M249 ◆MInImi/RF2 :03/05/20 16:17 ID:37mwjWxa
尿酸値もチェックしないと…。


267 :rafale ★:03/05/20 16:29 ID:???
>>263
技術面の話は進んでるけど、全体的な設計をもっと詰めましょうってことですかね?

268 :名無しさん@お腹いっぱい。:03/05/20 17:09 ID:W4e+giqD
負荷が高くなってきたら、
適当にチェックをさぼるようにすれば、
負荷を一定以下に保てる。

269 : ◆Kinen/LLFY :03/05/20 17:42 ID:g8FuBIfk
ここで言っちゃってもいいものやら。。
http://qb.2ch.net/operate/SETTING.TXT
なんですが、
timecount=
timeclose=
と無設定になってるんですが、>263の 2) 連投規制。
って昔と何か変わりました?
他の板でもいくつか見かけたんですが。

270 :名無しさん@お腹いっぱい。:03/05/20 17:43 ID:FthSt6oi
処理の重みが見積もれないのか?

271 :サザン ★:03/05/20 20:40 ID:???
>>269
何も設定されてないと、デフォルトが適応されるのだぁ、

272 :名無しさん@お腹いっぱい。:03/05/20 21:00 ID:hfnPNouk
>>271デフォルトっていくつぐらいなんだろう、、、

>>263
まさかまさかと思うけど、将来ID制に移行して
(例えば)●ログイン(や2chspアド)が無かったら書き込めない、、、、
なんていう規制も想定内?

273 : ◆Kinen/LLFY :03/05/20 21:02 ID:gIvEpEyJ
>271
最近設定の無い板を幾つか目撃して、どうなってるのやらと思ってました。
今度はデフォ値が気になったり・・いやいや、初歩的な質問に回答ありがとうでした(汗

274 :サザン ★:03/05/20 21:58 ID:???
デフォルトは荒らしとかもあるから、公開禁止かなぁ、、と。
もちろん他の設定にもデフォルトはあります、

275 :名無しさん@お腹いっぱい。:03/05/20 22:55 ID:sFl2Cudh
>>272
> (例えば)●ログイン(や2chspアド)が無かったら書き込めない、、、、

http://oyster.2ch.net/maru/

276 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/05/21 02:31 ID:???
メモ、、、

http://multix.jp/cgi-bin/cdiary2/2003-03-31.dml.html仮に「text.html」がコールされたとき、そのファイルがサーバになくて“MultiViews”が指定されていると「text.html.ja」とか「text.html.en」といった言語別のページが探されるようになります。このケースでは“AddEncoding”が追加されてるので「text.html.gz」という圧縮済のページデータが探されることが期待されています。



277 :名無しさん@お腹いっぱい。:03/05/21 02:45 ID:moDenFLU
最初から圧縮しておけばデーモンたんが圧縮にかける処理を省けるんじゃないかという発想?
何がネックなのかよくわかってないけど、あんまり意味がないんじゃないかなぁ。

278 :名無しさん@お腹いっぱい。:03/05/21 12:35 ID:qJuaIACU
>>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でやると結構うがーな模様



280 : ◆MUMUMUkopk @むむむ ★:03/05/21 13:18 ID:???
>>278-279
これは、Perlの宿命ってやつですね。
Perlでやる以上、この部分(モジュールの初期化にかかる部分)はしかたない気がする。
最近自分の環境でSpamAssassinを立てた時もそう思った。

Perlの初期化部分の重い処理はデーモン化する方向で解決を図ることが多いですね。
Perlは起動と初期化が重いので。

281 :名無しさん@お腹いっぱい。:03/05/21 14:09 ID:a9KTeKiJ
すなおに常駐させればいいのにって思う。FastCGIは駄目なの?

282 : ◆MUMUMUkopk @むむむ ★:03/05/21 16:00 ID:???
>>281
これか、、。
http://www.fastcgi.com/

ここによくまとまってるみたいね。
http://snap.shot.cx/ZWiki/FastCGI

面白いかも。でもmod_fastcgiというぐらいで(以下略。

283 :名無しさん@お腹いっぱい。:03/05/21 20:45 ID:TeTvj1yt
いっその事Perlに拘らないとか?(^_^;


284 :名無しさん@お腹いっぱい。:03/05/21 20:59 ID:FlaWnQVN
鯖がタコなんだよ。

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%


288 : ◆MUMUMUkopk @むむむ ★:03/05/21 22:39 ID:???
228氏、おつかれです。
なるほど、bsearchは結構有望そうですね。
# 今日も徹夜かも。スペインから帰国してから、仕事でずっと徹夜だ、、、。

289 :名無しさん@お腹いっぱい。:03/05/22 00:15 ID:hl9bRzNF
>>288
乙です。

290 :名無しさん@お腹いっぱい。:03/05/22 07:33 ID:cZFsnS4Z
ところで、規制リストの性能ばかり注目してたけど、実際処理のネックってそこだけじゃないよね、多分。Perlなら-d:DProfとかつけて起動してprofilingデータ採ってみるといいかも。

291 :名無しさん@お腹いっぱい。:03/05/22 07:37 ID:4fV8pz7P
そーいやポートスキャンのためにどのみちuse Socket;が必要なのに
use Socket;を省略した場合の性能を測っても意味ないな
むしろポートスキャンの処理も追い出せる分DB化のほうが
やっぱり有利かもしれん

292 :228:03/05/22 21:31 ID:uX3vIszm
>>291
あ、そーか > どのみちuse Socket;が必要

293 :名無しさん@お腹いっぱい。:03/05/23 21:07 ID:OT1u1hME
ポトスキャンイラネ

294 :名無しさん@お腹いっぱい。:03/05/24 01:08 ID:9gP9daTy
>>291 そーす見てないおらが言うのも何だが、今のbbs.cgiって
use Socket;
してるんだろうか? なんかプリミティブなsocket()使ってる
と想像していたが...ホントのところは如何?
それが判ったところで、どうというものでも無いか。
個人的な趣味としては
Perlなのに軽い動作(どーやって作ったんだろうと思わせるような)
見かけは思いどおり動作してるが、たまにオチャメな振舞いもする。
(けど、一線を越えることはない; 鯖に侵入されるとか)



295 :サザン ★:03/05/24 15:25 ID:???
>>294
必要な時はやってます、<use Socket;
もちろん、必要のない時はしないです、

296 :名無しさん@お腹いっぱい。:03/05/24 20:49 ID:NKDnqI+C
useって存在するだけで問答無用にモジュールが取り込まれますが
↓エラーになる
-------------
exit;
use XXX;
-------------
↓大丈夫
-------------
exit;
require 'XXX.pl';
-------------
まあ2chの運営陣が素人ばかりなのは常識だからいまさら驚かないけど

297 :名無しさん@お腹いっぱい。:03/05/24 21:39 ID:ASD3Nbhg
perl -w -e 'exit;' -e 'use Socket;'
でなにも文句いわれませんでしたが何か?

298 :●゜、⊃゜) ◆13ThomasYo :03/05/24 22:14 ID:rfzeuaJD
>>297
>>296の意味が根本的にわかってないバカ。
実在するモジュールを指定すればエラーにならないのは当たり前。

299 :名無しさん@お腹いっぱい。:03/05/25 21:02 ID:GSOZSVFo
なんか酔うわからんけど、がんばって

300 : ◆cZfSunOs.U :03/05/26 02:46 ID:LSGpvbOy
とりあえず>>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

301 : ◆cZfSunOs.U :03/05/26 03:06 ID:LSGpvbOy
>>300getしてた(w

それはともかくとして,名前空間の衝突を避けるため,
ディレクティブ名を変更して"AuthzIPList"にしますた.

        AuthzIPList type file

        type: "Black"または"White"
        file: リストのファイル名

[使用例]
<Files bbs.cgi>
    AuthzIPList Black /path/to/proxylist
</Files>

それ以外は>>300に同じ.

302 :名無しさん@お腹いっぱい。:03/05/26 10:48 ID:GliwXA6c
>>300-301 おつかれ様です
このモジュールの評価としてはApacheにもともとある
Deny/Allow ディレクティブの動作との比較になるん
でしょうか。
あと、Errorページの出し方なんかもHTTPエラーコード
と含めて考える必要はあるですよね?


303 :名無しさん@お腹いっぱい。:03/05/26 18:13 ID:AZkY9/Zp
ファイル構造(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構造をしているはず。

304 :名無しさん@お腹いっぱい。:03/05/26 18:21 ID:AZkY9/Zp
そして何より、
・perlのモジュールを読む必要はない
・制御ファイルを解釈してデータ構造を構築する必要はない
ので初期化コストがほぼかからないし、

・排他管理とか面倒なところはOSがやってくれる
・bbs.cgiを弄ったりしなくても、アクセス制御が変更できる。
・ファイル構造はどこにでもある
という利点がある。

305 :名無しさん@お腹いっぱい。:03/05/26 18:36 ID:hmxoj0Ab
>>304
そのやり方だと、tky*.hoge.puni.net というように
部分文字列で絞ってアクセス規制をかけることが難しくなるよ。

306 :名無しさん@お腹いっぱい。:03/05/26 18:49 ID:AZkY9/Zp
net/puni/hogeのファイル中に/tky/とか書けば解決する気もする
(そこからはリニア検索でもOKだと思う)

307 : ◆cZfSunOs.U :03/05/26 22:13 ID:LSGpvbOy
>>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なの?

310 :名無しさん@お腹いっぱい。:03/05/31 19:00 ID:y1U3+SHz
>>309
ひろゆきでも弄れるから、かな?

311 :名無しさん@お腹いっぱい。:03/06/01 10:13 ID:2FZYHTxD
だったらPerlにしないほうが(ry

312 :名無しさん@お腹いっぱい。:03/06/01 11:41 ID:WWbCqkNx
Cプログラムのほうがはるかに鯖に優しいと思うし、夜勤もそれを望んでいるらしい。

313 :名無しさん@お腹いっぱい。:03/06/01 11:53 ID:PJ7FhTFJ
PHPはどうだろう

314 :名無しさん@お腹いっぱい。:03/06/03 23:06 ID:Bwf6RJnB
>>313
PHPよりはやはりCの方が鯖に優しいかと。
また、PerlだとPHPよりも読める人が多い。
こういった公開しながら作業する場所では、
なるべく可読性の高いもので作業したものを
最も負荷の低い言語で再コーディングするというのが効率的。

315 :名無しさん@お腹いっぱい。:03/06/04 06:59 ID:rzXkCM/t
カーネルにhttpd組み込んじゃったりとかは?
なんか速いって聞いたけど。
あ、cgiは動かないんだっけ?

316 :名無しさん@お腹いっぱい。:03/06/04 17:25 ID:8dd7ahqB
珍案ばっかりだな

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 :名無しさん@お腹いっぱい。:03/06/04 19:32 ID:5QaPdPTL
>>313
ラウンジはPHPなのかな?
http://qb.2ch.net/test/read.cgi/sec2ch/1045495883/15

321 :名無しさん@お腹いっぱい。:03/06/04 19:36 ID:Qb9Jq6/j
>>320
2chISP で見るときは read.php

322 :名無しさん@お腹いっぱい。:03/06/04 20:16 ID:kd5WXe44
phpだと何かいいことあるの?

323 :名無しさん@お腹いっぱい。:03/06/04 20:38 ID:kd5WXe44
↑だと分かりにくいね。
書き直し

2chISP で read.php で見ると普通に read.cgi で見るときと違って何かあるの?

324 :名無しさん@お腹いっぱい。:03/06/04 20:41 ID:jR9RuF09
read.phpはdat落ちしたログを見られるですよ。
そしてread.phpを使うには2chISPに接続しないといけないというわけです。
ここはbbs.cgiスレなのであとは以下で…

2ch運用情報板質問スッドレ
http://qb.2ch.net/test/read.cgi/operate/1051602540/

325 :名無しさん@お腹いっぱい。:03/06/04 22:13 ID:hZmbEVNq
ほう
http://qb.2ch.net/test/read.php/operate/1051602540/

326 :7M. ◆dq7M./4Uw. :03/06/05 01:22 ID:65Lgd+SZ
ほんとだ。しらなかったのら。

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しない->許可
->ファイルは空->禁止

あんまし綺麗な動作とはいえないなぁ。

328 :名無しさん@お腹いっぱい。:03/06/05 12:55 ID:v8tJTLPS
Perlはオープンしなくてもファイルタイプの検査ができるはずだと思ったが。

329 :名無しさん@お腹いっぱい。:03/06/05 13:01 ID:J3t1nepf
うん

330 :● ゚、⊃゚) ◆13ThomasYo :03/06/05 13:07 ID:z9+dENsL
>>328
だからどうした、としか言いようがありませんが。

331 :名無しさん@お腹いっぱい。:03/06/05 13:54 ID:v8tJTLPS
>>330
327の判定分置く位置は不経済でないかい?

332 :ラプター ★:03/06/05 15:20 ID:???
呼ばれているのカナ?

333 : ◆IamMelonpc :03/06/05 15:24 ID:YFRpl37U
(;´Д`)ハァハァヒサシブリ

334 :名無しさん@お腹いっぱい。:03/06/05 15:26 ID:qSRfwK0u
ラプターたん(*´Д`)ハァハァハァハァ

335 :名無しさん@お腹いっぱい。:03/06/05 21:37 ID:ZScoT3wN
>>328
というか
if -d ACCESS;
がまさにその検査だ

336 :名無しさん@お腹いっぱい。:03/06/05 21:51 ID:ZScoT3wN
>>325
2chISPにダイヤルアップしないと使えません。
とか言われて見れねー。ちゃんと2chISPにダイヤルアップしてるのに。
http://isp.2ch.net/viewer/
からはちゃんと見える。

337 :名無しさん@お腹いっぱい。:03/06/06 08:09 ID:MbELZ/ku
えーと、perlの-Xはファイルハンドルでもファイル名でもOKなんですね。
なので、ディレクトリだった場合にオープンする無駄を省くために
if -d $pathにしておけばいいわけで。
ちなみに、空かどうかも-sや-zで調べられるから、オープンするのは
・-dではなく、
・-s>0で、
・-rである
時だけで済むはず。

338 :304:03/06/06 09:16 ID:YwUhdMdf
そうですね。確かに、事前にチェックした方が、
ファイルが存在しないときは、2割ほど速いみたいです。

339 :● ゚、⊃゚) ◆13ThomasYo :03/06/06 11:36 ID:o7dKY63w
>>337-338
ワラタ


340 :328:03/06/06 13:06 ID:fjgh3N/1
うむ、言いたいことが素直に伝わると気持ちいいね。
理解できていなかった>>330>>335は己の不明を恥じ速やかに首を吊るように。

341 :● ゚、⊃゚) ◆13ThomasYo :03/06/06 13:24 ID:o7dKY63w
>>340
恥の上塗りをしに来ましたか?
>ファイルが存在しないときは、
だったら最初にやるのは
if !-e $path
だろ。

342 :名無しさん@お腹いっぱい。:03/06/06 14:42 ID:ntpjKKK1
トーマス必死だなw

343 :名無しさん@お腹いっぱい。:03/06/06 15:45 ID:9bo3UBbw
トーマスは他人に求める割りには、柔軟性がないからなぁ

344 :328:03/06/06 17:24 ID:fjgh3N/1
>>341君は誰に言っているのかね?

345 :328:03/06/06 17:31 ID:fjgh3N/1
まぁ説明くらいはしてやるか…。

私が書いたのは >>328>>331>>340>>344、そしてこのレスである。
昨日は理解力の人並みはずれて少ない者に対し、親切に説明するほど暇が無かったのだ。
つまり ● ゚、⊃゚) ◆13ThomasYo 君の揚げ足取りは
全く的外れであるといわざるを得ないのだ。
実に ● ゚、⊃゚) ◆13ThomasYo 君は愚者なり。

最後まで間違いを認めないのは愚者の特徴の一つ。
そして ● ゚、⊃゚) ◆13ThomasYo 君は愚者である。
ここから導かれる結論は一つだ。
いくら間違いを指摘しても ● ゚、⊃゚) ◆13ThomasYo 君は最後まで
屁理屈と揚げ足取りを狙い、自分の過ちを絶対に認めないであろう。
そしてそのような状態になった議論もどきを、俗に水掛け論という。

うむ。

346 :● ゚、⊃゚) ◆13ThomasYo :03/06/06 17:44 ID:o7dKY63w
>>345
ヤレヤレ…わかってないのか…
「事前にファイルタイプのチェック」をして効果があるのは「ファイルが存在しないとき」
だけなので、>>328は「だからどうした」にしかならないの。
ファイルが存在しないかどうかを調べるならどんなチェックよりも-eを先に持ってくるので
ファイルタイプのチェックは「ファイルが存在する」という前提の元に行うことになる。


347 :ラプター ★:03/06/06 18:31 ID:???
>>318
正規表現が使えなくなっちゃう…

>>319
F22のリスト更新だけ止めれば、手動で書き換えても大丈夫だと思いまつ。
詳しいことは、夜勤さんに聞いてくださいね。

それとも、F22で新しい形式を作るのカナ?

348 :名無しさん@お腹いっぱい。:03/06/06 18:35 ID:RPloRwLf
ラプターたん(*´Д`)ハァハァハァハァ

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
トーマスはプログラミングに関する知識はあっても
日本語に関する知識が不足してるので
貴方の言ってることを理解するのも
自分のいわんとしてることを貴方に説明する事も
無理だと思うよ。

355 :名無しさん@お腹いっぱい。:03/06/06 22:08 ID:R1rxezyN
粘着がいちゃあ、スレも伸びない分田

356 :名無しさん@お腹いっぱい。:03/06/07 00:25 ID:adCNq9pE

トーマスよ。お前みたいな奴をみると、あの日のことを思い出すよ。
2001年8月25日。2ちゃんが本格的に閉鎖になりかけた日だよ。
転送量が多すぎて、費用が月700万もかかってるって発表されて、「数日中に閉鎖」って予告されてさ、
その日のうちにあっちこっちの板が封鎖されてた日だよ。
あのときのUNIX版の住人、カッコよかったんだぜ。「総力を結集」ってのはまさにああいう状態だよ。
転送量を1/3に削減しないと閉鎖、ってもんだから、新しいプログラム組んでさ、
そしたらほんの何時間かで完成したんだよ。それが聞いてくれよ、目標は1/3だったのに
1/16まで圧縮に成功しやがったんだよ。職人技なんてもんじゃねえよ、神技だよ。
でもよ、そうやって頑張る人がいた一方で、
「ボクの肛門も閉鎖されそうです」とか駄スレ立ててたバカもいたわけだよ。
ちょうど、今までのお前みたいにな。

357 :名無しさん@お腹いっぱい。:03/06/07 07:53 ID:3YH1Nddv
もまいらとりあえず深呼吸でもしておちつけ

358 :名無しさん@お腹いっぱい。:03/06/07 09:14 ID:Bh+Napgo
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 とかを
はじめからはじける仕様にしようかな

各サブルーチンは容易に入れ替えれるようにしよう。
すたてぃくな変数は使わないでおこう。


360 :名無しさん@お腹いっぱい。:03/06/07 12:47 ID:E27ag4nq
へー。

361 :名無しさん@お腹いっぱい。:03/06/07 13:14 ID:aDQqftRi
>>359
マレーシアやブラジルから利用している人は排除ですか?

362 :やきん ★:03/06/07 13:21 ID:???
>>361
bbs.cgi を作るのが目的で
それを使うかどうかは管理人次第だと思うのですが、
その機能も入れてということだす。

363 :名無しさん@お腹いっぱい。:03/06/07 13:47 ID:txFOaoeD
>>359
>スペシャルサーバ買うお金ないから
(´Д`;)
がんばれ。超がんばれ。

364 :名無しさん@お腹いっぱい。:03/06/07 13:56 ID:xuhOhVF1
>359
それより>347に関する
詳しい説明が聞きたいのだが

365 :●゜、⊃゜) ◆13ThomasYo :03/06/07 14:02 ID:SFIeKdqT
>>350
>それ書いたのは私じゃないし。

誰が書いたかなんてどうでもいい事を気にするバカには配慮しません。

>ただ自分が理解できないことを330で無碍に却下しようと目論んだことについては

俺が理解できてないという妄想はどこから沸きましたか?

366 : ◆n3D69Zsbfg :03/06/07 14:05 ID:1GbXV2xS
ニヤニヤ

367 :名無しさん@お腹いっぱい。:03/06/07 14:13 ID:1JfUPgN+
誰かレモリヤ呼んできて

368 :名無しさん@お腹いっぱい。:03/06/07 14:58 ID:RqKPjTMR
>>351 bbs.cgiをことさらにCで書こうとするメリットは???

鯖全体を考慮すると、bbs.cgiがPerl -> C になることのメリットは
さほど無いと思ってしまうわたしは素人ですか?

369 : ◆n3D69Zsbfg :03/06/07 15:04 ID:1GbXV2xS
>>368
つくってから今までのと比較するのが良いかと。
んで、どっちが良いかよーく考えてみようってことで、

正規表現重いっすよ。
書くのは一行でコストが安そうに見えて
実は実行時に一番高い料理を注文している予感。

何もしないで否定するよりは
やって実際に比較しようかと。

とくに live サーバでは活躍する予感。
土台から作り直すから、人間おぷちまいざー効果抜群。

どーだ。

370 :名無しさん@お腹いっぱい。:03/06/07 15:14 ID:RqKPjTMR
>>369 なるほど。。
でも、bbs.cgiをC化することに割ける人的コストがあるなら、

板の実体をデーモン化するコードをCで書いた方が建設的かも。
板の管理デーモンがメモリ上にスレを保持しておいて、
bbs.cgiやread.cgiその他もろもろはデーモンとやりとりで済ますと。。。

371 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/06/07 15:15 ID:???
>359
わくわく。。

372 :名無しさん@お腹いっぱい。:03/06/07 15:18 ID:E27ag4nq
ひろゆきキター

373 : ◆n3D69Zsbfg :03/06/07 15:18 ID:1GbXV2xS
>>370
コーディング時にはそんなこともにらんで、

まずは 現 bbs.cgi の置き換えからかと、
それで効果があればめでたしめでたし、
もしなかったら・・・

そのデーモンとかモジュール化とか、
そちらへ行くべきかどうかをその時点で考えられるかも、
少なくとも考える基になるデータは今より増えているはずだー

374 : ◆n3D69Zsbfg :03/06/07 15:21 ID:1GbXV2xS
いらっしゃーい >>371

まずは老体に無知うって
たたき台書いてみるですよ。

んで、公開するから
各サブルーチンはより良い方向へ
より効率的な方向へ興味のある人は書き換えよう !!

のような予定だす。


375 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/06/07 15:23 ID:???
汎用bbs.cgiにして、公開して2chルーチンを加える感じっすかね。

376 :名無しさん@お腹いっぱい。:03/06/07 15:26 ID:RqKPjTMR
なるほど。。。 >>373
大将も興味を示していますし、その線で。。。ってことですね。

Cで文字列を扱うにあたっては、
コーディングには十分気をつけてくださいね。。。
極東地域のクラッカー達のチャレンジの的になっているわけですから。。。

377 : ◆n3D69Zsbfg :03/06/07 15:27 ID:1GbXV2xS
たぶん
味付けはパラメータをファイル設定で (SETTING.TXT)
根幹の bbs.cgi は bug が抜けたら一生さわらなくても良いように

こんな感じかと、

関数の仕様もがっちり、より良いコードややり方が見つかったら
入れ替えられるようにね、

378 :名無しさん@お腹いっぱい。:03/06/07 15:28 ID:RqKPjTMR
>>375 おおっ! ついに禁断のbbs.cgiが部分公開されるわけですね。 (ワクワク

379 : ◆n3D69Zsbfg :03/06/07 15:31 ID:1GbXV2xS
公開というか、、、
まっさらから公開で作ろうかと、
最終的に採用されるかどうかは分からないけど
楽しい作業になるのではないかなぁ

まずは前祝と言うことで
宴会に行ってきますー

380 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/06/07 15:32 ID:???
main(){
exit;
}

381 :名無しさん@お腹いっぱい。:03/06/07 15:33 ID:RqKPjTMR
>>380 汗;

382 :●゜、⊃゜) ◆13ThomasYo :03/06/07 15:33 ID:SFIeKdqT
未だにリライトのプライオリティが見えないんですが。
負荷を減らすのか速さを追求するのか省力化してもいいのか仕様変更を伴うのかetc...

383 :名無しさん@お腹いっぱい。:03/06/07 15:34 ID:u5K2sDdR
>126
実際の処理はこんな感じ?

384 : ◆n3D69Zsbfg :03/06/07 15:35 ID:1GbXV2xS
>>382

人間おぷちまいじんぐ

これが一番の目的かもよ。

385 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/06/07 15:37 ID:???
人間おぷちまいじんぐってなんだろう。。



386 :名無しさん@お腹いっぱい。:03/06/07 15:44 ID:nmPTOrsm
ひろゆきみたいな無駄の多い生き方してる人間をキビキビ働くように
更正させるとか…

387 :名無しさん@お腹いっぱい。:03/06/07 15:45 ID:El0RBut7
>人間おぷちまいじんぐ
人間活用?

388 :ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★:03/06/07 15:49 ID:???
最近、おぷちまいじんぐに成功しまして、
ズボンがゆるくなりました。


389 :名無しさん@お腹いっぱい。:03/06/07 15:49 ID:RqKPjTMR
於風帝邁進具

390 :名無しさん@お腹いっぱい。:03/06/07 17:37 ID:Jcdwb9Em
昨晩から今日にかけてどうやら君の書き込みが烈しく多いと思うですよ。。

391 :名無しさん@お腹いっぱい。:03/06/07 18:16 ID:u5K2sDdR
>390
まだ酔ってるんだろうか

392 :●゜、⊃゜) ◆13ThomasYo :03/06/07 19:31 ID:SFIeKdqT
>>384
おぷちまいじんぐの方向性を訊いてるんですが。
ウェイトトレーニングにも体重減少を目的とするか筋力増強を目的とするか体型追求を
目的とするかで方法が違うわけですから。

393 :名無しさん@お腹いっぱい。:03/06/07 20:01 ID:nmPTOrsm
「やれることをやる」に決まってるじゃん

394 :サザン ◆IDaU21y6wI :03/06/07 20:07 ID:pjYXphfh
>>380がとても軽そうだなぁ。(す

395 :こんな感じかなぁ:03/06/07 20:16 ID:u5K2sDdR
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;
}

396 :名無しさん@お腹いっぱい。:03/06/07 20:31 ID:Zzxq9MMy
そういえば、これってもう反映されてたんだっけ?
★ bbs.cgi軽量化開発コンペ ★
http://ooo.2ch.net/jikken/kako/1017/10170/1017071166.html
★ bbs.cgi軽量化開発コンペ ★ 2
http://ooo.2ch.net/jikken/kako/1023/10231/1023157603.html

397 :●゜、⊃゜) ◆13ThomasYo :03/06/08 00:14 ID:XkDv2d33
>>393
「やれる事」自体は無数のあるので目的が決まらないと何もできませんが。

398 :ずぶ ◆PHZUBUXUug :03/06/08 00:21 ID:I9YxASNK
>>397
あなたの目的は? つーことで。

399 :名無しさん@お腹いっぱい。:03/06/08 00:36 ID:U8LjkezV
test

400 :名無しさん@お腹いっぱい。:03/06/08 00:37 ID:U8LjkezV
400

401 :●゜、⊃゜) ◆13ThomasYo :03/06/08 00:52 ID:XkDv2d33
>>398
そもそも現状でどういう問題があるのかサッパリわからんのですが。

402 :名無しさん@お腹いっぱい。:03/06/08 01:03 ID:DyZyBuBl
>>401
じゃあ(・∀・)カエレ!!

403 :ずぶ ◆PHZUBUXUug :03/06/08 01:07 ID:I9YxASNK
>>401
でしたらあなたとしては終了という事でもかまわないのではないかと。
とりあえず>>1のリンク先を読んでみては?

404 :名無しさん@お腹いっぱい。:03/06/08 01:09 ID:rmNUk14U
>>401-403
久しぶりにワラタ

405 :名無しさん@お腹いっぱい。:03/06/08 01:10 ID:hPaw+m8V
トーマスが目的もなくただ絡んでいるだけだということがよく分かりますた。

406 :●゜、⊃゜) ◆13ThomasYo :03/06/08 01:38 ID:XkDv2d33
>>403
読んでもわからんていうか、リアルタイムでそのスレ読んでたけどやっぱりわからんので
訊いてるんですが。

407 : ◆n3D69Zsbfg :03/06/08 02:05 ID:EVysubP3
>>406
修行が足りないと言うことで、

408 :名無しさん@お腹いっぱい。:03/06/08 02:17 ID:XsZom5QE
>>395
/*xxxxxxxx.dat log/xxxxxxxx.dat subject.txt subback.html index.html i/index.htmlをロック*/
これ全部同時にロックする必要があるかなぁ?

datとlog/datの同一性を保証するのは当然だけど、
それ以外は、必ずしも厳密でなくてもいいかも。

409 :こんな感じかなぁ:03/06/08 03:04 ID:SadKA5pG
>408
>126-128をそのまま拍ってきただけですた。。。

あと>5こんなのもあったんだね…

410 :名無しさん@お腹いっぱい。:03/06/08 03:05 ID:SadKA5pG
>409
名前戻すの忘れてた(鬱

411 :●゜、⊃゜) ◆13ThomasYo :03/06/08 03:11 ID:XkDv2d33
>>407
俺の経験では仕様も目的も不明なものは「弄らないのが最良」なんですが。

412 :ド素人考えですが…:03/06/08 07:33 ID:zXygkiUq
デーモン化するなら、サーバーレベル(S)、カテゴリレベル(C)、板レベル(B)、スレレベル(T)
の処理をするデーモンを分けてみては。各レベル一つづつじゃなくて、例えばスレ数分だけ
デーモンがあるようなイメージなんだけど。
・各単位ごとのパラメータの調整がしやすい。
・1つのデーモンの障害の影響が他におよびにくい。
・各単位はそれほど複雑にはならないだろうから保守性が高い
・マルチプロセッサ有効利用(?)
あたりの利点はある気がする。
あと、BとかTのところでSUBJECT.TXTとかdatのキューイングをして、
書き換えは、前の書き換えが終るまでにキューにたまったのを
一気にするようにするといいかもしれない。

プロセス間通信の負荷ってどの位なんだろう。

413 :ずぶ ◆PHZUBUXUug :03/06/08 09:30 ID:I9YxASNK
あーよく寝た。

>>406
おいらはこのスレとしては「困っている」所は無いと思ってます。
こうした方がいいんじゃないかと言う形で出来たスレだし。
そしてそれを議論するのが「面白い」わけで。。。
あくまで個人的見解ですが。

414 :名無しさん@お腹いっぱい。:03/06/08 10:15 ID:XsZom5QE
>>412
サーバレベルで常時起動しておく必要のある作業ってほとんど無いような。。
強いて言うならアパッチですか? (w

スレ数分だけデーモン。。。って、数千個のプロセスを併走させるってことですか?
psコマンドの出力が壮観でさぞ見物でしょうけど、メリットはあまり無いような。。。

今のところ、やって意味がありそうなのは、やはりそれぞれの板を司るデーモン(itad ?)ですよね。

415 :名無しさん@お腹いっぱい。:03/06/08 10:19 ID:nEJHdkGP
FastCGIみたい。

416 :名無しさん@お腹いっぱい。:03/06/08 11:06 ID:zXygkiUq
>>414
スレ数分常時起動しておくのではなくて、
・板デーモンから度起動する
・起動したら、キューイングしつつレスを処理する。
・キューが空になってもすぐに終了しないで、一定時間次のレスを待つ
・一定時問、何もなかったら終了
ではどうでしょうか。(inetdでwaitオプションを付ける感じ)
短時間にレスが集中したときに、>>395のようにするよりも、
・プロセス起動のオーバーヘッドが無くなる
・dat等の書き直しをまとめてできるのでIO負荷が減る
ような気がします。

417 :トーマスは哀れな奴:03/06/08 11:45 ID:KOfySOY4

【問題記者】祝!"きしゃトーマスφ ★"遂にキャップ剥奪【自業自得】

ニュース速報+板、記者キャップ剥奪議論スレ★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
そもそもキャップを復帰してもらおうとは思ってないし。

418 : ◆n3D69Zsbfg :03/06/08 13:10 ID:EVysubP3
>>411
登山とかやってみるといいかもよ
それも海面から登れる利尻富士とか

419 :名無しさん@お腹いっぱい。:03/06/08 13:15 ID:pKqLTiOV
チャレンジ精神

420 :●゜、⊃゜) ◆13ThomasYo :03/06/08 14:18 ID:XkDv2d33
>>418
「登山」は手段でしかないので、それ自体は目的になりません。
山頂で満天の星のもとでセックスするとかそういう目的があって初めて「山に登る」という
手段を選択する事ができるわけです。

421 :名無しさん@お腹いっぱい。:03/06/08 14:39 ID:SadKA5pG
で、結局このスレは何をするとこなんだろうか…

422 :名無しさん@お腹いっぱい。:03/06/08 15:43 ID:y4FuksOG
夜勤さんの昔取った杵塚と
底の割れたトーマスの見れるスレは
ここですか?

423 :名無しさん@お腹いっぱい。:03/06/08 15:49 ID:pdNbNvav
>>421
トーマスに邪魔されながらbbs.cgiを再開発するスレ

424 :●゜、⊃゜) ◆13ThomasYo :03/06/08 16:08 ID:XkDv2d33
>>421
リアルタイムでデスマーチをヲチするスレにしか見えん。

425 :名無しさん@お腹いっぱい。:03/06/08 16:46 ID:RkrmEQoF
とりあえずトーマスが役に立ってないのはよくわかった(す

426 :名無しさん@お腹いっぱい。:03/06/08 17:14 ID:4yi1uLrY
>>411
お前の経験が何の根拠になるのか?

427 :●゜、⊃゜) ◆13ThomasYo :03/06/08 17:40 ID:XkDv2d33
>>426
根拠は俺の実績だ。

428 :名無しさん@お腹いっぱい。:03/06/08 17:57 ID:SadKA5pG
>427
よく分かった

429 :名無しさん@お腹いっぱい。:03/06/08 18:33 ID:BpEQGAvx
3人兄弟の真中のような人だな

430 :名無しさん@お腹いっぱい。:03/06/08 19:21 ID:l1NznFH/
納期もないものがどうしてデスマーチになるんだか

431 :名無しさん@お腹いっぱい。:03/06/08 20:03 ID:4yi1uLrY
>>427
その実績がどこにしめされてるのかな?
履歴書と業務経歴書でもどっかに公開してあるのか?
素人が出てきてもうざいだけだから引っ込んでろよ。

432 :名無しさん@お腹いっぱい。:03/06/08 20:18 ID:HozBcLgt
>>431
>独立系でありながら、三菱電機様、日本電気様、日立メディコ様、日本ユニシス様などを
>はじめとする大手優良企業様から絶大の信頼を頂き、最先端の技術開発に取り組んできました。
>事業分野は、通信・流通を中心に医療、エンジニアリングなど幅広い領域に広がり、
>コンサルティングからソフトウエアの設計、開発、メンテナンスにいたる一貫したサービスを行ない、
>「高度な技術力を誇るシステムインテグレータ」として、評価を年々高めています。
(中略)
>WEB技術や移動通信技術、マルチメディア技術の飛躍的な進歩で新たな可能性を広げるIT。
>私たちはこれからも最新技術の動向をさぐりながら、既存の技術をさらに磨きをかけ、
>クライアントの業務効率化・経営刷新・次世代製品の開発に貢献していきたいと考えています。

だって。

433 :名無しさん@お腹いっぱい。:03/06/08 20:20 ID:MTT2m7Ju
>>431
構うな

434 :●゜、⊃゜) ◆13ThomasYo :03/06/08 20:33 ID:XkDv2d33
>>432
すごいな。ごんちゃくん。

435 :ごんちゃく ◆GONChrp3.k :03/06/08 20:34 ID:HozBcLgt
>>434
(゚∀゚)アヒャ

436 :名無しさん@お腹いっぱい。:03/06/09 21:59 ID:qVkcuKg3
>>432
で、零細企業の企業概要のコピペに何か意味があるのかと?

437 :通り過ぎようとして蹴躓いた。:03/06/10 00:22 ID:+zVKP8p5
httpd へ渡す前に、アク禁判定をするとかってどでしょう?@tcpserverの如く。
itad・・・ふと思い付けだけれども、、、
bbs.cgiは書き換えられた .dat をキュー用のディレクトリ放すだけ。
datd なりでせっせと、/dat/に投げつける。
read.cgiは、キューを見ながら/dat/*.dat を取得みたいな。
 もしくは/dat/*.datのスティッキー立ってるとかみて・・・

・・・書いてて頭が回りません。寝てからもう一度考え直してみますm(_ _)m

438 :名無しさん@お腹いっぱい。:03/06/10 22:21 ID:CCimd4Ns
サーバでアク禁判定するから処理が重いんだ。
ならば、いっそクライアントに処理させれば...

439 :名無しさん@お腹いっぱい。:03/06/10 22:29 ID:yP0A57LW
火壁であく禁とかはありだろうか…

440 :M249 ◆MInImi/RF2 :03/06/11 11:38 ID:sh/9hMiA
>439さん
F.W.っていうか、ルータレベルではroot権限が無いからできない、って、以前御大将が言ってたです。


441 :名無しさん@お腹いっぱい。:03/06/11 15:58 ID:7vPo+VpY
iptableのレベルでは?

442 :M249 ◆MInImi/RF2 :03/06/11 19:47 ID:sY2vuwv8
サーバ自体もroot権限無かったんじゃなかったでしたっけ?
# ユーザ権限で入れられるようだったらスマソ(汗


443 :7M. ◆dq7M./4Uw. :03/06/11 23:37 ID:mLeKsgr9
何か愉快なbbs.cgiがはいったよーで・・・
とりゃーえずこのスタイルで統一の予定っすか?

444 :名無しさん@お腹いっぱい。:03/06/12 02:12 ID:3GSCkLV/
<base src="http://qb.2ch.net/operate/test/read.cgi/operate/">
しておいて

<a href="1053067870/50n">hoge</a>
するのとかはどうでしょう?

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万円あるくせにやり方が汚い
また騙されたんですか・・・。人のいい方ですね。

447 :名無しさん@お腹いっぱい。:03/06/14 01:48 ID:fZdbu7jg
>>446
このコピペ夜勤の巣にもあったよ。
アンチさん着々と勢力伸ばしているようで…

448 :名無しさん@お腹いっぱい。:03/06/15 19:31 ID:NzBsnfTF
問1
>>445
>>1を書いたのが管理人側とするとその理由は?

問2
>>446
>>1を書いた◆Chacha.PkAが一度も顔を出していないのはなぜ?
>>1を書いたのが管理人側でないとするとその理由は?

問3
>>445
管理人の月収が400万円とするとその理由は?

問4
>>446
管理人の月収が400万円でないとするとその理由は?

449 :名無しさん@お腹いっぱい。:03/06/19 03:17 ID:JOsNfJSy
>>448
ねね、あなたは本当にその答えを必要としているのん?

450 :すりりん:03/06/20 20:28 ID:zMrAYCmG
7億の損害賠償請求をくらえば破産するだけ。
月収400マンも、4マンも一緒さ。


451 :名無しさん@お腹いっぱい。:03/06/23 16:30 ID:fXhzf3VM
「ひろゆき」氏は良く言えば象徴天皇、悪く言えば傀儡。
しかし、裁判の時は正面に立たされるようになっている。
「2ちゃんねる」で実質的に金を稼いでいるのは「夜勤」氏。
やっぱ、狡猾だよな。

452 : ◆n3D69Zsbfg :03/06/23 16:31 ID:xDzey8/J
ありがとさーん

453 :7M. ◆dq7M./4Uw. :03/06/26 16:57 ID:i9JaOMKq
>>451
すれ違いですが何か。

454 : :03/06/27 20:26 ID:BPJO/3Tm
http://qb.2ch.net/test/read.cgi/operate/1052479294/327
http://qb.2ch.net/test/read.cgi/operate/1052479294/328
バグってるぞ。
bbs.cgiに引数チェックを一行入れるとDNSクエリー分軽くなるよ。

455 : ◆MUMUMUkopk @むむむ ★:03/06/28 22:16 ID:???
>>454
gethostbyaddr() を呼ぶ前に値が0かどうかをチェックして、
0の時は呼び出さないようにするだけで、
DNS query数が3割ぐらい減少するようです。

http://qb.2ch.net/test/read.cgi/operate/1052479294/355


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プログラムにしてみてはどうでしょうか。成功すれば飛躍的な速度アップしいて
は負荷低減になるんじゃないでしょうか

458 :名無しさん@お腹いっぱい。:03/06/29 01:27 ID:uhLHcEg0
ノイズ=電波

459 :名無しさん@お腹いっぱい。:03/06/29 01:35 ID:0XRnSKcR
>>457
ワラタ

460 : :03/06/29 08:45 ID:5dXwwH2B
たたき台を作る予定の人が、、、

461 : ◆haGe4kFoYU :03/06/29 09:35 ID:3ipF8smW
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への負荷は免れませんが最小限の動作ですとは思います。
ファイル内に禁止理由や期限等の情報を保持させ一定期間が
経過したら削除させるようにします。

465 :名無しさん@お腹いっぱい。:03/06/29 10:12 ID:/U7ABuBu
うぜー。

466 :名無しさん@お腹いっぱい。:03/06/29 10:34 ID:Z3b9r8uQ
本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;

}

みたいな感じで

468 :名無しさん@お腹いっぱい。:03/06/29 14:59 ID:S5UAy1zX
↑改行多すぎ うざい

469 :あぼーん:あぼーん
あぼーん

470 :動け動けウゴウゴ2ちゃんねる:03/07/03 21:44 ID:09DHhvNt
サーバープログラムにbbs.cgiの処理をさせるってのはどう?
非現実的だけど(´・ω・`)
開発停止中(終了?)だけど実際あります。
2chを内蔵したウェブサーバ ょぅι゛ょ
http://pc2.2ch.net/test/read.cgi/tech/1043275721/


471 :ロール ◆OkhT76nerU :03/07/04 00:44 ID:m19LgY15

・・・

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
subject.txtの読み込みを解決するだけなら、squidでアクセラレータモードにすれば簡単に解決しないか。
diskd必須で。
.dat直読みもキャッシュしれくれるぞ。

ホスト判定専用デーモンにrbldnsをつかえばいいんじゃ?
http://spam.h1r.org/qmail/rbldns.html
dnscacheつかえば問い合わせはキャッシュするし。

474 :動け動けウゴウゴ2ちゃんねる:03/07/06 15:32 ID:8YcmQtgL
ホストマシンの操作に関してはなんか制限があるらしいぞ。
××モジュールを入れれば?って言ってもなんか言葉を濁されるし

475 : :03/07/06 16:01 ID:N2lBIdmN
カーネルとかモジュールレベルの話じゃない。
ソフトをコンパイルしていれて/etc/resolv.confを書き換えろ。という程度の修正だよ。

476 :動け動けウゴウゴ2ちゃんねる:03/07/06 16:30 ID:8YcmQtgL
いや、Apacheモジュールの話なんだけどw

477 : :03/07/06 21:43 ID:N2lBIdmN
なるほど。
まぁ貸しサーバとしては、Apacheモジュール>>>squidやrbldnsのインスコって難易度だと思う。
ようするにapacheが特殊な設定だと管理がめんどくさいんでしょ。
別ソフトをインストールするのはそれよりも何とかなりそうなもんだけど。

478 :動け動けウゴウゴ2ちゃんねる:03/07/11 05:40 ID:46q/7Zkj
monazillaBBSに書いてあったんだけど
http://jbbs.shitaraba.com/computer/bbs/read.cgi?BBS=351&KEY=1056474512&LAST=100
これ(・∀・)イイクナイ?

479 :動け動けウゴウゴ2ちゃんねる:03/07/11 05:50 ID:46q/7Zkj
>>478微妙にスレ違いですた

480 : ◆Chacha.PkA :03/07/18 02:33 ID:vvWZSGS6
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レスで。
これで携帯からの負荷がかなり減少するような気がします。

481 :7M. ◆dq7M./4Uw. :03/07/18 13:50 ID:CsTyq3C7
とするとあれだなぁ、最新10件分くらいをhtmlで吐き出して、
それ以降のを読みたい時はr.iを使わせればいいことになるんだけれども。

#つか携帯用なんてわざわざ2chの使わなくても他のサイトにもあるけどなぁ。

482 :動け動けウゴウゴ2ちゃんねる:03/07/18 14:24 ID:wndetMJS
2chブラウザを推奨するなら板トップは subject だけで良さそうな。。。

483 : :03/07/18 16:45 ID:M1dsBs4X
2chブラウザをインストールしないやつは、どんな困難をあたえても絶対にインストールしないので、かえって本文を読み込む負荷が増えると思われ

484 : ◆Chacha.PkA :03/07/18 17:57 ID:vvWZSGS6
>>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 起動の減少がかなり見込めると思うです。

485 :7M. ◆dq7M./4Uw. :03/07/18 19:29 ID:ymcem2Bn
しかしこれ容量食うよな。一つのスレッドに対して、
dat/$key.dat
html/$key.html
html/$key.htm
read/$key.html
4つ必要なんだべ。
削除スクリプトにも改変必要だろうし。
(まぁreadほどには呼ばれないのかもしれないけど。

486 : ◆Chacha.PkA :03/07/18 20:21 ID:vvWZSGS6
htmに関しては大きくて1ファイル平均2KBくらいでしょうか。
ブロックサイズは1kbと仮定して、800スレッドの板だと
800 * 2 / 1000 = 1.6MB程度だと思うです。
そう言えば削除スクリプトにもthat鯖と同じような改変が必要ですね。

487 : ◆Chacha.PkA :03/07/18 23:07 ID:vvWZSGS6
html/の中に1600もファイルがあるのはよろしくないので、
ディレクトリも別に作る必要がありますね…

488 :7M. ◆dq7M./4Uw. :03/07/18 23:22 ID:f6TPU6ah
ふむ、容量はそんなモンか…

dat/$key.dat
html/$key.html
i/$key.html
read/$key.html
これでいいんぢゃない?
i-mode用のはiの中にヴチこんじゃえば。

489 : ◆Chacha.PkA :03/07/18 23:39 ID:vvWZSGS6
ですねー。

あ、ちょと弊害を思いつきました…
この方法だと、r.i、p.iが止まっていても、上位30スレは閲覧できますよね?
ということは、無駄な空揚げ(PCの人が携帯の人のために)とか、
人大杉規制の効果がほんのちょっとダウンしてしまうとかあるかもです。
r.i は起動できないのでカキコミは出来ませんが…

490 :7M. ◆dq7M./4Uw. :03/07/18 23:51 ID:f6TPU6ah
ただ、今はそのread/$key.htmlを作る、っての自体がストップしちゃってるみたいだにょ。
http://that.2ch.net/gline/read/
っつーことは、あんまおっきな効果が出なかったんかね。

491 : ◆Chacha.PkA :03/07/19 00:02 ID:k5NPfKhP
ありゃりゃ、知らなかった〜
効果が無かったか、もしかすると削除関係が原因でかもしれないですね

492 :動け動けウゴウゴ2ちゃんねる:03/07/19 03:55 ID:urer/SUP
ちまちまつついてないでそろそろ成果物あげたらどうなんですか?

493 :閑散スレ閲覧者:03/07/23 19:51 ID:BfbyaauP
r.iはどうなんでしょう?
多分、これもごっそり変更しないと駄目のような、、、
無駄が大杉だと思うんですが?

494 :ピロリ:03/07/23 19:52 ID:C7CgQ8Pm
>>492
ちまちまつついてないでそろそろ成果物あげたらどうなんですか?


495 : ◆Chacha.PkA :03/07/23 19:57 ID:cBeFqfFh
>>493
んんー、どうなんでしょう?

496 :動け動けウゴウゴ2ちゃんねる:03/07/23 22:13 ID:fbHm2fMt
>>494
餌を与えないように。

497 :萌ヌレ2:03/07/24 20:26 ID:hM+scXrK
>>490
兄さん・・・

498 :閑散スレ閲覧者:03/07/31 10:03 ID:qeSpcJZW
素朴な疑問
何故、書き込みをした後、板一覧まで表示するのか?
専用ブラウザ用の帯域はどうしてるのか?
r.iはどこにいくつ走っているのか?


本気で変える気があるのか?(w


499 :動け動けウゴウゴ2ちゃんねる:03/07/31 17:33 ID:NZA6s73b
>>498
素朴な疑問と最後の煽りとの接点が分からんのだが。
疑問が解決したら俺が作ってやるぜ!ということか。

俺は知らんので、誰か、彼に教えてあげて。

500 :動け動けウゴウゴ2ちゃんねる:03/07/31 18:32 ID:yjNeTCLF
板トップページ( bbs.cgi が作成する index.html )があるから大変なわけで、
無くしてしまえば相当負荷が減るでしょう。
ついでに read.cgi も全廃。
r.i は可哀想だから残しておくの(w

猫は暑くて重たい。

501 :動け動けウゴウゴ2ちゃんねる:03/07/31 19:26 ID:N35d+SOF
西村はindex.htmlは無くしたくないみたいだけど
閲覧ツール利用者の多い板にとっては邪魔でしかない
あと、スレ(read.cgi)に直接書き込む場合はindex.htmlより
同じスレの新着レスを表示してくれた方が使い勝手がいい

こう言うと2chの仕様をよく知らずに連投を心配する者が出てくるが
今の仕様でもブラウザからの連投はある程度は可能だし、
ある程度は防いでくれているので問題はないだろう
index.htmlを見たくなったら■掲示板に戻る■押せばいいわけだし

502 :動け動けウゴウゴ2ちゃんねる:03/07/31 20:41 ID:yjNeTCLF
index.html を i/index.html 形式にしちゃうとかね。
subback.html も見づらいだけだし、2chブラウザでは洋なしラ・フランスだし。

503 :動け動けウゴウゴ2ちゃんねる:03/07/31 20:42 ID:37ArgOZc
bbsに書き込んだ後、そのスレ欄に戻るような(一般的な)システムだと、
リロード(更新)すると二重書き込みになってしまうのである。
小規模サイトなら「二重書き込みですか?」とするのは簡単だが、
大規模な2chではその処理すら大きな負担になってしまう。
だからindexに飛ばすようにしているのだ。

と俺は考えている。

504 :動け動けウゴウゴ2ちゃんねる:03/07/31 20:43 ID:hW9YiyjS
>>500-502
脳内変換

四の五の言わずに2chブラウザ使え

505 :動け動けウゴウゴ2ちゃんねる:03/07/31 21:16 ID:yjNeTCLF
>>504
残念ながら既に使っておりますm(_ _)m

これだけ大規模になったにもかかわらず 2ch とは http でしかお話しできないって云うのも問題なのかも。
・・・でもスレタイとは逸脱しますねスマソ

506 :動け動けウゴウゴ2ちゃんねる:03/08/01 07:30 ID:vel1O8LV
>>505
>>500-502を要約すると>>504ということでしょ。



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 );
}
}


509 : ◆dq7M./4Uw. :03/08/13 17:41 ID:RYUtPEeT
>>508
ほうほう。
それが現在使われてるもの?

510 :仕事人 ★:03/08/13 17:54 ID:???
>>509
そです、
ポートチェックに使われているサブルーチンです。

511 :rafale ★:03/08/13 17:59 ID:???
>>510
#}elsif($@ =~ /Out/o){
#return ( 1 );
#}elsif($ping){
#return ( 0 );
}else{
return ( 1 );
}

ここら辺最近変更しました?
Proxy使ってないのに〜 スレに被害者が続出してるんですが。

512 :仕事人 ★:03/08/13 18:02 ID:???
どうなんでしょうね
変更されているのかな?

変更の経過とかは知らないんだけど
現在はこれです。

513 :rafale ★:03/08/13 18:07 ID:???
>>512
コメントになってるところ復活させてみてもらえませんか?
どうもそこが原因で海外の人とかが引っかかってるっぽいんで。

514 :仕事人 ★:03/08/13 18:10 ID:???
qb だけ 20030813 になりました。
>>513 を反映。

515 :rafale ★:03/08/13 18:13 ID:???
>>514
どもです。向こうのスレに書いてきます。

516 :c0167.ja-hc.com:03/08/13 18:26 ID:UiaKwglH
駄目ぢゃん

517 : ◆dq7M./4Uw. :03/08/14 02:09 ID:nZbVy+aL
>>516
んむ?
これでも書き込めないとゆう事でござるか?

518 :c0167.ja-hc.com:03/08/14 03:39 ID:DYbnjygR
>>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


521 :動け動けウゴウゴ2ちゃんねる:03/08/14 07:28 ID:uUUzfumS
>串規制ルーチンについて。

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も読めるので便利なのさ。
そうあんま読む必要ないけど便利なんだから買った意味があるんだ…
悲しくなんかないやい。(´Д⊂グスン

524 :サザン ★:03/08/14 13:39 ID:???
>>521
$ping は通常NULLです、
こんな感じ。

proxy_connect('8080');

525 :rafale ★:03/08/14 13:45 ID:???
>>524
$ping の初期値を1にするってのはまずいですか?

526 :動け動けウゴウゴ2ちゃんねる:03/08/14 13:54 ID:KjGzHCGe
意味があって使ってんだろうに

527 :サザン ★:03/08/14 13:55 ID:???
ちょっと軽くなっちゃうような、、
Alarmの時はスルーした方がいいような気もします。

528 :rafale ★:03/08/14 14:07 ID:???
>>526
いや、だから全鯖じゃなくてテストとしての話だよ。

>>527
それをこの鯖に入れてみてテストとか…
>>421
> 421 名無しさん@事情通  [ 03/08/14 13:56 ID:CY1lcIKe ]
> 真綾ちゃん知ってる?
> http://www.adultshoping.com/index.cgi?id=1060823557

529 :rafale ★:03/08/14 14:09 ID:???
>>528
レス混じってるよ… 鬱。

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;
}

531 :動け動けウゴウゴ2ちゃんねる:03/08/14 14:20 ID:KjGzHCGe
いや、俺のは $ping の話ね。 それも 528 の返答もらったからノープロ
俺も Out!! だけをアウトにして他は通してくれたほうがいいなと思う

532 :サザン ★:03/08/14 14:30 ID:???
>>530
>スルーってのはどっちの意味ででしょう。Alarmの時は何時も問題無し
>(return 0)にするという意味のスルーだと嬉しいです。
あ、そゆ意味です。

なるほど、、
Outだけですか、
ふむふむ。。

533 :動け動けウゴウゴ2ちゃんねる:03/08/14 14:48 ID:KjGzHCGe
if ($ping) return (0);        # さいしょに $ping をチェック
if ($@ =~ /Out/o) return (1);   # Out のときはご愁傷様
return (0);               # それ以外はセーフ

534 :動け動けウゴウゴ2ちゃんねる:03/08/14 15:26 ID:WhnA0oW2
元々が、ポートチェックの例文丸写しだったからねぇ。

諄いようだけど串をチェックしたところで荒らしは減らないと思うんだけれども。

535 :仕事人 ★:03/08/15 01:34 ID:???
>>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:???
了解です。
どもありがとうございます。

さっそく入れてきます。

541 :仕事人 ★:03/08/15 05:29 ID:???
20030815b

542 :仕事人 ★:03/08/15 05:31 ID:???
bbs.cgi ver 20030815b

543 :521 12-221-98-12.client.insightBB.com:03/08/15 07:41 ID:Vedbfmgz
仕事人さん、もう導入されたみたいですね。
お疲れ様です。

●ログインせずに試してみました所、エラーも出ず、
「書き込みできました」となるのですが、実際には
書き込んだ内容が反映されませんでした。

一方で、PROXY使ってないのに「PROXY規制中!」23スレ
http://qb.2ch.net/test/read.cgi/operate/1052752592/
ではこれでうまく書けるようになったという人もいらっしゃる
ようなので少しは良くなったんだと思います。

この「エラーが出ないのに書き込めない」という問題は僕の所では
8/5に始まりました。8/6にはrefuseなのに開いてるエラーが発生した
のでそちらにかまけてたんですが、どうやら、この「エラーが出ないのに
書き込めない」問題はまだ残ってたようです。影響を受ける人は少ない
のが、せめてものすくいですね。

質問なのですが、proxyチェック以降で、何かチェックして書き込みを
行わないといったことをbbs.cgiでやってませんでしょうか?
insightbb.comには串も幾つかあるようで、ポートスキャンだけじゃない
もっと直接的な串規制か何かに引っ掛かってるんだと思います。
もし何かご存知でしたら、教えてください。

544 :動け動けウゴウゴ2ちゃんねる:03/08/15 08:07 ID:Yr59wQI9
>>542 = 仕事人 ★氏
現在2003/08/15 08:00 、bbs.cgiがアップデートされていない板:

 oyster.2ch.net 20030815 となっています・・・

 http://www.domo2.net/system/ver.html

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さん適当な使い放題になってしまった串とか挙げれませんか?

547 :動け動けウゴウゴ2ちゃんねる:03/08/15 12:42 ID:Vedbfmgz
それとも例えば現状8080をチェックしてないので、
全て塞いであって8080だけ串として空けてある串が使い放題になってしまう
みたいな話であれば、これはproxy_connectを呼ぶ側の問題ですよね。
proxy_connect(8080)みたいなチェックをすれば解決します。

545さんの言う串素通し問題の原因が、コンパイルエラーなのか、
チェックしてないことによる問題なのか区別できないんで、
念の為書いておきます。

548 :動け動けウゴウゴ2ちゃんねる:03/08/15 13:44 ID:zCFgwg1R
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で書くなら、、、」みたいな提案はしなかっただけ。

550 :動け動けウゴウゴ2ちゃんねる:03/08/15 15:00 ID:Vedbfmgz
ちょっとだけ訂正。提案したのは521じゃなくて530でつた。では。

551 :2ちゃんねるの提供でお送りします ◆U78T6z7TjA :03/08/15 18:55 ID:Z3UUDCk3
サーバ同士で負荷分散なんてできないんですか?
C言語の基本すらよくわかってないC言語超初心者のレスだが

552 : :03/08/15 19:39 ID:CAUGcnir
プロクシチェックと掲示板機能を別にすることはできそうだな。
rbldnsdみたいにIP番号で呼び出すと、正否を返すデーモンとか。

553 :動け動けウゴウゴ2ちゃんねる:03/08/15 20:38 ID:TFLIzaef
>>551
初心者ということに甘えないで、まずはしっかり勉強して
脱初心者してから書き込んでみてはいかがですか?

554 : ◆dq7M./4Uw. :03/08/15 23:07 ID:Lz5GIj1h
負荷的には
$@ eq "Out!!\n" and return 1;
が一番軽いんじゃなかったっけ。
その次
return 1 if $@ eq "Out!!\n";
その次
if ($@ eq "Out!!\n"){return 1;}
まぁうろ覚えでよく覚えてないんだけど。。。

555 :動け動けウゴウゴ2ちゃんねる:03/08/15 23:08 ID:4z90y19b
>>546
nsb.nag.ac.jp
明らかに更新をしたせいで素通しになってます
http://qb.2ch.net/test/read.cgi/operate/1060671451/755-

556 :動け動けウゴウゴ2ちゃんねる:03/08/15 23:14 ID:9POxp9Xv
当時多発山崎(w に対しても何の効果もないよな。@串判定ぽーとすきやん

557 :動け動けウゴウゴ2ちゃんねる:03/08/15 23:15 ID:9POxp9Xv
>>556
「当時」ってなんだよ。。。_| ̄|○
「同時」です。(´・ω・`)ショボーン

558 :仕事人 ★:03/08/15 23:22 ID:???
失敗だったのかな?
もとに戻す?

559 :動け動けウゴウゴ2ちゃんねる:03/08/15 23:25 ID:4z90y19b
>>558
お願いします。

560 :動け動けウゴウゴ2ちゃんねる:03/08/15 23:32 ID:4z90y19b
あ、戻す前に>>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 );
}


562 :動け動けウゴウゴ2ちゃんねる:03/08/15 23:52 ID:4z90y19b
>>561
相変わらずnsb.nag.ac.jpは素通しです。

563 :動け動けウゴウゴ2ちゃんねる:03/08/15 23:57 ID:4z90y19b
でもローカルでテストしてみた限りではちゃんと1が帰ってくるなあ

564 :動け動けウゴウゴ2ちゃんねる:03/08/16 00:02 ID:iiOeUtYx
>>537に{}を付けて試してもやっぱり1が返ってきますね。
ってことで、どこか別の場所をデグレードしてると思います。

565 :仕事人 ★:03/08/16 00:06 ID:???
>>562
気が付いてくれて、閉じてくれればいいなぁ

566 :動け動けウゴウゴ2ちゃんねる:03/08/16 00:09 ID:iiOeUtYx
>>565
今までちゃんと弾けてたんだから
弾けないのは変です。
ローカルでのテストでも弾けるはずという結果が出てるし。
それにこれは一例としてあげただけで他にもいろんな串が
素通しになってると思われます


567 :動け動けウゴウゴ2ちゃんねる:03/08/16 00:22 ID:f0EnsEJy
>>565
.nag.ac.jp で規制を掛ければ?

568 :動け動けウゴウゴ2ちゃんねる:03/08/16 00:23 ID:iiOeUtYx
たとえば私は自宅鯖を公開していて80が開いてるので(しかも非JP)
生ホストでは●使わないと書けないはずなんですが今は書けますね。

569 :動け動けウゴウゴ2ちゃんねる:03/08/16 00:23 ID:iiOeUtYx
>>567
むやみに規制リストを肥大させないように
ポートチェックで弾けるものは弾くべきだと思います。

570 :動け動けウゴウゴ2ちゃんねる:03/08/16 00:31 ID:iiOeUtYx
あ、わかった。
nsb.nag.ac.jpって漏れ串ですね。
漏れ串は問答無用で弾く処理が20030815以前のbbs.cgiには
(pc2とthatを除いて)入っていたはずです。
その処理がどっかに行ってしまったものと思われます。

571 :動け動けウゴウゴ2ちゃんねる:03/08/16 00:32 ID:iiOeUtYx
よく考えたらjpだからポートチェックは掛けてないはずなんですよね。
でもこれで謎が解けました。

572 :動け動けウゴウゴ2ちゃんねる:03/08/16 00:34 ID:iiOeUtYx
というわけで
・漏れ串を弾く処理を復活させる
・.nag.ac.jpを規制リストに追加する
のどちらかをお願いしたいです。

573 :521 ◆OW.842VOdU :03/08/16 00:35 ID:Ft23Xkwf
nsb.nag.ac.jpだと、そもそも80ポートが繋がるんではじくはずなんですけど、、、_| ̄|○

2chからのスキャンは繋がないけど他からは繋ぐみたいな
串の設定になってるってことなのかな。でもそれなら以前から
弾けてたはずですし。

そうすると、何か編集ミスをしたんじゃないかと疑ってしまうわけです。
proxy_connectはどんな風に呼ばれてるんでしょうか?

>568
あう。確かめて頂いてども。
bbs.cgi変になってるってことじゃないでしょうか。

574 : ◆OW.842VOdU :03/08/16 00:37 ID:Ft23Xkwf
って、568の結論は間違いってことでしたか。それは失礼。

>・.nag.ac.jpを規制リストに追加する

ってのは最後の手段として、ちゃんと動くよう修正していくほうがいいような。

575 :仕事人 ★:03/08/16 00:40 ID:???
tes

576 :仕事人 ★:03/08/16 00:41 ID:???
コスト(サーバ負荷)との天秤でして、
いろいろ嗜好錯誤を

577 :動け動けウゴウゴ2ちゃんねる:03/08/16 00:44 ID:iiOeUtYx
>>574
JPはポートチェックの対象にしてないはずなんですよ。
だからJP串で書けないのは
・規制リストに入ってる
・漏れ串
のどちらかだったってことです。で、今は後者が無効になってると。

578 :動け動けウゴウゴ2ちゃんねる:03/08/16 00:47 ID:iiOeUtYx
とか言ってる間に20030816が入って
nsb.nag.ac.jpでは書けなくなったようですね。
お疲れさまです。

579 :521 ◆OW.842VOdU :03/08/16 00:51 ID:Ft23Xkwf
追記。PROXY使ってないのに「PROXY規制中!」23スレでは
http://qb.2ch.net/test/read.cgi/operate/1052752592/l50
815c以降また書けなくなったとのことです。

816になりましたか。おつかれさまです。
proxy_connectは815bと815cのどちらになったのでしょうか?
815bだとよいのですが。

580 :仕事人 ★:03/08/16 00:57 ID:???
てすと

581 :外野ァァン:03/08/16 01:02 ID:LB0QzpM9
testはtestスレで

582 :動け動けウゴウゴ2ちゃんねる:03/08/16 04:00 ID:pID0Knxw
http→ttp強制変換ってやらないの?効果あると思うんだけどな、ぼっくん

583 :動け動けウゴウゴ2ちゃんねる:03/08/16 04:12 ID:4RIyJUas
>>576 = 仕事人 ★
お疲れさまです・・・
全鯖、無事に20030816となっています・・・

bbs.sgi20030816になって、
和串、洋串ともに規制される・・・

従来のbbs.cgi、例えば20030804から20030815まで
使用できた串も規制される・・・

584 :動け動けウゴウゴ2ちゃんねる:03/08/16 06:55 ID:f0EnsEJy
>>583
串規制は全廃を所望しているんだけどねぇ。。。
連投規制を強化する方が効果が上がるのにのに。

585 : ◆haGe4kFoYU :03/08/16 07:55 ID:Fd8c/WO6
>>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からでもリンク先に飛べたりもする

587 :動け動けウゴウゴ2ちゃんねる:03/08/16 09:25 ID:9m5q6t5S
何に対するレスなのかわからん

588 :動け動けウゴウゴ2ちゃんねる:03/08/16 09:47 ID:9m5q6t5S
nsb.nag.ac.jpは8080でOutになってるんじゃなくて
80でAlarmになってるみたいですね。
つまりproxy_connectは815c相当の予感。
というか、nsb.nag.ac.jpは漏れ串なのに漏れ串チェックに
引っかかりませんね。どうなってんだろ

589 :動け動けウゴウゴ2ちゃんねる:03/08/16 09:48 ID:9m5q6t5S
もしかして.jpだと漏れ串チェックもしないのかな?

590 :521 ◆OW.842VOdU :03/08/16 10:40 ID:Ft23Xkwf
さてさて、仕事人さんとか運営側の人は調整に忙しいみたいですが、
おいらは暇だったので、串リストチェッカを弄っておりました。

串リストチェックがなんで遅いかっていうと、
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);

591 :動け動けウゴウゴ2ちゃんねる:03/08/16 11:14 ID:qHxFrLWn
とりあえず、
・直リンは蹴る(ttpなら>>586だし)
・bbspinkは、ac.jp、go.jpからの書き込みを蹴る
をやって欲しいな

592 :521 ◆OW.842VOdU :03/08/16 11:34 ID:Ft23Xkwf
あ、>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
ハッシュ使えば……

594 :※未承諾広告 ◆yBEncckFOU :03/08/16 22:24 ID:f0EnsEJy
>>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/ にアクセスできなくなると全停の悪寒。

595 :仕事人 ★:03/08/17 02:27 ID:???
そなのよネ
鯖単位に連投規制というか
本来は絨毯爆撃撃退法を考えないとね、
さすがにサーバをまたいでの撃退策までは
コストが大きいので考えていないけどさ。

596 : :03/08/17 06:31 ID:y5mDmFOi
わざわざPerlで作ってバグ作る危険性をおかすよりも、cdbにでも入れればいいじゃん。
連続ポストってのは本文のハッシュが同じだろうし。

597 : ◆haGe4kFoYU :03/08/17 08:57 ID:PTA13OlX
>>586
bbs.cgi が http://〜 を <a href="http://〜"> に変換するかどうかが問題なんちゃうかなーと、、

>>594
>そもそも板単位でやるからみっともないことになっている悪寒。
>鯖単位でやるともうちょっとこましになるかと。
確かにそうかも…
だいたい鯖別に板の分類がわかれてきてるし設定はしやすそうな気が。。

>>595
今いちばんの問題って荒らし対策ってことやんな?
重複投稿規制を強くしたらなんとかなりそうやけど
また別の方法をとってくるやろから一時しのぎにしかならへんよなぁ。。
やっぱ串規制の見直しが大事ちゃうかなーとか思ってみた
さんざんがいしゅつならすまそ

598 :動け動けウゴウゴ2ちゃんねる:03/08/17 19:12 ID:MiCs/m9K
(・A・)
(・H・)
(・∀・)

599 : ◆dq7M./4Uw. :03/08/17 20:31 ID:Gd532FRZ
串規制の見直しか…
どこまで効果があがるか…。

600 :動け動けウゴウゴ2ちゃんねる:03/08/17 21:35 ID:yR9eU81z
bbs.cgi のソースはどこにありますか?

601 :サザン ◆IDaU21y6wI :03/08/17 22:37 ID:DOcmLssh
お好み焼きにかかってますよ。

602 :ずぶ ◆PHZUBUXUug :03/08/17 22:40 ID:wzpf4vQh
( ・∀・)つ〃∩ ヘェーヘェーヘェー

603 :動け動けウゴウゴ2ちゃんねる:03/08/18 03:12 ID:f2eEYBhQ
月収500万のえろゆき。金がないと騙して情報集め。
得られる利益は自分のもの。

604 :動け動けウゴウゴ2ちゃんねる:03/08/18 10:18 ID:XKG7Vqxe
20030818a はなにが変わったの?

605 :動け動けウゴウゴ2ちゃんねる:03/08/18 16:15 ID:xcUmlR/K
>>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
現在2003/08/19 20:00、bbs.cgiが20030819aにアップデートされていない板:

 oyster.2ch.net

以上、20030818bとなっています・・・

http://www.domo2.net/system/ver.html

ここで確認すると、20030818cとなっています・・・

609 :仕事人 ★:03/08/19 21:17 ID:???
>>608
だれも書き込んでいない予感。。。 < oyster

610 :動け動けウゴウゴ2ちゃんねる:03/08/19 22:33 ID:p4DlVCkp
なるほど、書き込まないとindex.htmlが更新されないわけか

611 : ◆dq7M./4Uw. :03/08/20 02:11 ID:YYEfw3/q
誰も書き込まない板…
それはそれで…(汗

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 : ◆haGe4kFoYU :03/08/20 08:28 ID:hYVhGdGj
どう更新したんか知りたいです、先生方

614 :※未承諾広告 ◆aiY4htt2.2 :03/08/20 13:23 ID:Jd65LNIz
>>613
公表すると荒らしさんがゴニョゴニョするので非公開かと思われ。

未承認、未承諾どっちだっけ?(w

615 :動け動けウゴウゴ2ちゃんねる:03/08/20 13:52 ID:Z/0AKhsw
それ以前に※は未承諾広告の「後ろ」に付けるんですよ

616 :動け動けウゴウゴ2ちゃんねる:03/08/20 16:30 ID:SRcG9YA8
そうか、、、きっと、不適当なエラーメッセージもきっと嵐対策なんだな



馬鹿らし

617 :未承諾広告※ ◆aiY4htt2.2 :03/08/20 18:47 ID:Jd65LNIz
>>615
あらやだそうなんだ(照)

618 :動け動けウゴウゴ2ちゃんねる:03/08/20 22:32 ID:CJ5UvPMo
>>594 samをDB_Fileに格納してみたら?△が○、×が△くらいになるんじゃないかな


619 :618:03/08/20 22:45 ID:IjuscfBO
板またぎで連続投稿規制強化すれば広告とかコピペ荒らしに随分効き目ある
んじゃないかと思った次第で・・・。
そして現在迷惑を被っているリモホ制限の原因もこれで遮断できそうな気が
するわけで・・・。(しかたないのでこれも携帯から書いてるわけで・・・)
そして山崎もご臨終なわけで・・・(w

620 :未承諾広告※ ◆aiY4htt2.2 :03/08/20 22:52 ID:Jd65LNIz
>>619
あまり書きたくはないけれども、コピペの最後にでも昇順の数字を書きこめばスルーになっちゃうのであーる。

621 :618:03/08/20 23:08 ID:p2uy/UXC
単純にハッシュ比較やっちゃう方法だとそれはそうなってしまうと
思いますが、適合度が95%以上ならほぼ同じ内容と見なす。
みたいな検査方法で効率が良いアルゴリズムとか方法(例えば正規
化などの手法)ができれば良いんじゃないかな? と思います。
しきい値をどう仕切るかは、もう少し検討必要かと思いますが。
(・・・リモホ制限回避、正直面倒・・・)

622 :動け動けウゴウゴ2ちゃんねる:03/08/20 23:33 ID:IpDctWLY
エディットグラフか、、

623 :618:03/08/20 23:47 ID:av7gyXDq
>>622
へぇ・・・なるほど、初めて聞いたのですが、世の中頭の良い人っているもんですね・・
良くこんなの思いつくって言うか、すげぇです。面白いです。勉強してみよう。


624 :未承諾広告※ ◆aiY4htt2.2 :03/08/20 23:58 ID:Jd65LNIz
>>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を抽出したらインクリメント
しておいて、ある回数以上貼られたら禁止にするって手は即効性ありそうですが、
ダミークエリーストリングなどで逃げる事も可能なので・・・。

628 :動け動けウゴウゴ2ちゃんねる:03/08/21 00:38 ID:j9P69DM8
>>626そのリストがどれくらい長くなってるかご存知ですか?

629 :618:03/08/21 02:09 ID:kSdzqLqE
エディットグラフの欠点は比較対象が1対1の差異検出には使えるけど、
1対多の比較、つまり、現投稿(1)と過去投稿(多)の同一性比較には向
かなさそうだな・・・。

630 :618:03/08/21 02:18 ID:kSdzqLqE
>>629 同一性ではなく類似性ですね。。。厳密には・・・

631 :動け動けウゴウゴ2ちゃんねる:03/08/21 02:30 ID:Tx+tXM/8
卒研一本できそうな予感(w

632 :名無しの良心 :03/08/21 03:34 ID:NPL6qKR8
クライアント側で統計フィルタの方が楽だと思われ。

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
あれ、漏れなにやってんだろ・・・>>232 じゃなくって >>632ですね。
失礼しました。

636 :521 12-221-98-12.client.insightBB.com:03/08/22 13:49 ID:BoxYqUdX
■ 規制解除要望スレッド 6スレの
http://qb.2ch.net/test/read.cgi/operate/1060966615/316です。

串チェックでrefuseやステルスが引っ掛かってた問題も
解決したっぽいので、今の「規制串リスト」に入ってる串も
チェックできるよう串チェックを改良することはできないので
しょうかという問題提起をしにきました。

海外のcatv系に多いようなのですが、「規制串リスト」にドメイン毎
入れられてしまい、書き込んでみても「『書き込みました』と出るだけで
書けてない」という問題で、2chに書き込めないという人を時々見掛けます。
そういう人を救済&僕自身も救済みたいなことを考えて、この問題定期を
しにきました。

想像するに、わざわざ「規制串リスト」を作ったということは、従来の串
チェックでは引っ掛からなかった串があったということですよね。
そういう串にどういう串チェックをすればいいのかを考えるためにも、
「そういう『対処できなかった串』の例」ってのを一つ二つ公開することは
できませんか?

それが難しければ、「こういう串チェックをしたけど効果がなかったので、
〜した」みたいな対処した人のお話なんかでも聞ければ、と、思うのですが。

よろしく。

637 :動け動けウゴウゴ2ちゃんねる:03/08/22 13:51 ID:ndNv+CeL
うるせーなこいつは

638 :動け動けウゴウゴ2ちゃんねる:03/08/22 14:29 ID:oJtgvz+r
>>637に同意。
636は自分ができることを何も提案せず、2chに対して要求するのみ。
海外ドメインからの荒らしを減らす方策をまずはおまえが考えろと。

639 :動け動けウゴウゴ2ちゃんねる:03/08/22 14:33 ID:BoxYqUdX
日本のプロバイダに対して、規制→ユーザー&ISPとの間でお話→解除みたいな
流れもないのに、そもそも規制されてるかどうかすら誰も答えてくれないのに、
どうしろと?

ま、煩いって言われるならしょうがない。また半月したら書きに来ますわ。

640 :618:03/08/22 14:49 ID:ohlIR1cB
すみません、教えていただきたい事(というより確認したい事)があるんですが
なぜプロクシ制限がなぜ必要なのか?について説明できる方お願いします。

常々思っていたんですが、プロクシ制限しか問題の解決方法は無いものかと。
どうしても、プロクシ制限に頼らないと解決できないものなのかと。
別のアプローチは取れないものかと。そのあたりを考えてみたいのです。

どういう現象が起こるから。というだけで結構です。よろしくお願いします。

例えば、荒らしなら、どんなタイプの荒らしがあるのか、体系的に示していた
だける神あらば、1つづつ解決のアプローチを明確にしてゆけるのではないか
と思いまして。

641 :ピロリ:03/08/22 14:53 ID:aZ+MqSsW
四年の戦いの歴史。


642 :動け動けウゴウゴ2ちゃんねる:03/08/22 14:56 ID:F/okftVa
代替案があるのかと思って読んだのに損した

643 :動け動けウゴウゴ2ちゃんねる:03/08/22 15:11 ID:FHKwFT0V
なんか一人、議論厨?みたいのが紛れ込んでるね

644 :動け動けウゴウゴ2ちゃんねる:03/08/22 15:30 ID:N1GRgCcA
>>640
2chの削除系の板の過去ログとか調べてみたら?
どれだけの血と汗と涙の上に築かれたシステムなのかを(かなり大げさ)。

645 :動け動けウゴウゴ2ちゃんねる:03/08/22 15:55 ID:oJtgvz+r
>>640
>なぜプロクシ制限がなぜ必要なのか?
串刺して荒らしまわってるやつがいっぱいいるからだよ。
生IPは個人情報特定につながる可能性があるから、
荒らしさんは少しでも自分が特定される可能性を減らしたいんだな。

つーかあんた、そういう認識も無しにこのスレに来てるの?
ここのスレをいくつか読めば簡単に推測できそうなものだが。


646 :618:03/08/22 17:25 ID:ohlIR1cB
>>644
そうします。ありがとう。
解決のショートカットしようとする人には優しくないインターネットですね。

>>645
荒らしの行動特性からプロクシ以外の防御方法を考えようと思ってるだけです。

荒らしさんっていうのはプロクシ管理している方の身元、目的もわかんないの
によく足跡ぺたぺたつけて歩くんだな。と思いますよ。例えばそれが業者なら
ウラでどう結託してるかわかんないのに。

生IPつまり大手プロバイダ経由の方が、使う側の危機管理だって簡単。
法に触れることでもない限り、使用禁止措置を講じられることはあっても逮捕
状とか判決強制捜査でも無い限り、個人情報は外に出ない事になってるし。

あと、荒らしを、荒らしとして1括りにして考えるのもセンス悪い。
これだけユーザーが増えた今でも、荒らし=プロクシ規制で制御。っていうの
は進歩無いんじゃないかな。と思ったんです。 荒らしのタイプによっては、生
IPの方が安全との判断もありますし。その場合、プロクシ以外のフィルター系
対策じゃないと対策できませんでしょ。煽りとか、叩きとか、ソフトな粘着とか。

このタイプの荒らしにはこういう対策で望むのが効果的。という対策を体系的
に考えて実装検討してゆかなかったら、良いものなんて出来ないんじゃない
ですかね?

647 :動け動けウゴウゴ2ちゃんねる:03/08/22 17:38 ID:ndNv+CeL
>荒らし=プロクシ規制で制御

これはもともとイコールで結ばれてないし

>煽りとか、叩きとか、ソフトな粘着とか。

こんなもんになんの対策がいるねん。 ていうか荒らしじゃないし。

>このタイプの荒らしにはこういう対策で望むのが効果的。という対策を体系的
>に考えて実装検討してゆかなかったら、良いものなんて出来ないんじゃない
>ですかね?

じゃ、がんばってね。
2ch では常に 2ch にとって良い対策しかしてないし、しないだろうね。

648 : :03/08/22 18:26 ID:4ZLVQ7K5
いま連続で宣伝を書き込むんだったら、freebitを使っているマンガ喫茶だよなぁ。

649 :名無しの良心 :03/08/23 09:17 ID:hmAt/mUr
>>633-634
どうせ根本的には解決しないんだから、サーバはシンプルに保ってクライアントでカバー。
サーバ側で実装するなら、パターンマッチやリスト照合やフィルタではなく、
強制フシアナや TOMATO のようなヒューリスティックな手法を考えるべきだよ。
荒らしをいなくするという目的ではなく、
運営側が問題に対処しやすくする、
あるいは利用者への心理的影響を減らすという目的で考えてみてくれ。

650 :未承諾広告※ ◆aiY4htt2.2 :03/08/23 11:33 ID:Dhaa6/Mz
>>649
そうなると http しか喋ってくれない 2ch をなんとかしたいですね(w
1000gex を宣ってた香具師に頼むか?(w

651 :動け動けウゴウゴ2ちゃんねる:03/08/23 11:43 ID:16KzB0ol
>>646
あなたが主張していることは、合ってるかもしれません。
でも、自分は正義なんだから皆協力しろ、という態度は、
2chであっても実社会であっても、間違いですよ。
あなたは、言ってみれば、現場の苦労も知らずに好き勝手言ってるお偉いさん
見たいなもんですよ。

652 :未承諾広告※ ◆aiY4htt2.2 :03/08/23 12:25 ID:Dhaa6/Mz
>>651
「間違い」つーよりか「そゆこと云う人もいる」というところでしょうか。
あのほら某國さんもそんな感じだし、、、

精神的には「 2ch を荒すとえらいことになる」というのをみんなが認知できるようになると、
自ずと荒らしは減るとは思うのですが、それをどのようにして認知させるかが思案のしどころでしょうね。

串差して荒しまくる人にとっては remote host が晒されたところで何の効果もないと思いますし、
とある ISP に怨みを持っている人にとってはその ISP の remote host で荒しまくるのが効果的だし。

653 :動け動けウゴウゴ2ちゃんねる:03/08/23 13:13 ID:aNpUVU06
>>649
言ってることおかしくないか?
強制フシアナや tomatoなどのようになんらかを発動するために
パターンマッチやリスト照合などを行わなければならないのでは?

それに現在もtomato発動してもおかまいなしに荒らすやつや業者が
いるんだから、承知でやってるやつには効果ないだろう。


654 :名無しの良心 :03/08/23 13:59 ID:hmAt/mUr
ああ、すま。
プログラムだけで何でもカバーできるようなものを目指すのではなく、
効果の高いところに(2ch的に困るところ)集中して適用して後は人手に任せるような方法がいいのではってこと。
もちろん前者でも画期的な方法があるなら否定はしないよ。

655 :動け動けウゴウゴ2ちゃんねる:03/08/24 02:30 ID:f+lbWCi5
>>654
人の手をかけたくないから、プログラムで何とかしたいんだと思うけど。
それと、あっちもこっちも困ってるから、今の状態なんだと思う。

656 :fe117240.fl.FreeBit.NE.JP:03/08/24 21:07 ID:22JSmezC
山崎ネタで荒らす愉快厨や、広告業者のスレage荒し広告にウンザリしてます。
この手の行為はどれも

・1スレッドに1回のみの書き込みを行う
・行為の効果を上げるためにageられる
・短時間に複数スレッドに書き込む

という特徴があるのだから、カキコ内容によらず、書き込み者のIPごとに単純な
数値情報を用意するだけで解決できないものですかね。

・ 書き込み者の情報として
 ○ 書き込み先のスレッドID、カウント値、カウント値のリセット日時
 のみを生成・保持する
・ 前回カキコしたスレと違うスレにageカキコするたびに、カウンタ値を加算。
・ 前回と同一スレに書き込むとカウント値をリセットし、リセット日時を更新
・ ある程度の時間更新されていない書き込み者の情報は、どんどん廃棄

単位時間内のカウント値が大きいことで荒らしは検出できそうだけれど、こういう
単純そうな方法ですら実現できないほど、現状の負荷は厳しいものでしょうか。


657 : ◆haGe4kFoYU :03/08/24 21:11 ID:ubaXYhjv
>>656
山崎は串つかってるんちゃうかなー
毎回規制情報板に書かれへんし。。

658 :動け動けウゴウゴ2ちゃんねる:03/08/25 01:10 ID:Tp0hOB7w
>>657
そうらしい。
生でやってたら、とっくにプロバイダに通報されてる。

659 :動け動けウゴウゴ2ちゃんねる:03/08/25 01:54 ID:bNz86EZV
山崎が現に野放しになってる以上
いくら串刺しても意味ないと言い張っても説得力ないね

660 :未承諾広告※ ◆aiY4htt2.2 :03/08/25 02:02 ID:nVRwKfHh
根本は串刺すのが悪いのではなく荒すことが悪いことなんだけどね。
あと bbs.cgi を握っているのが マ(ry しか居ないのも問題のような(w

661 :動け動けウゴウゴ2ちゃんねる:03/08/25 02:42 ID:iPym+bEt
つーか、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
あの〜、http://qb.2ch.net/test/read.cgi/operate/1061135789/397
仕事人さんが再度現在のbbs.cgiのproxy_connectを晒してらっしゃいますが、、、
$ping=0ではありませんでしたっけ?(>>524>>530あたり参照)

そうすると、今のbbs.cgiはrefuse、stealthな場合は
全てエラーになるわけなのですが(>>521参照)。
直ってると思ってただけに、ショック大。

664 :ひろゆき@どうやら管理人 ★:03/08/26 12:41 ID:???
live5のbbs.cgiをちょっといじってみたです。

665 :rafale ★:03/08/26 12:53 ID:???
>>664
どういう風にいじったんですか?

666 :車板:03/08/26 13:13 ID:jbbrEMZu
ふとおもったけど、書きこみチェックてパターンマッチつーか、
エリアジャッジでイイのでは?

全部を見る必要は無いと思います。

667 :ひろゆき@どうやら管理人 ★:03/08/26 13:55 ID:???
http://kusare.30.kg/zzz/r.cgi/refuge/1061748696/l30
書けない人はこちらで確認。。

668 : ◆SAKURAzUkA :03/08/26 14:02 ID:ldBm8MBL
ほうほう

669 :q208131.ap.plala.or.jp ◆dq7M./4Uw. :03/08/26 16:51 ID:aKXYshIn
あんま参考にならんと思うけど、私の場合の脳内プロクシ規制はこんな感じですー。
http://moreover.hp.infoseek.co.jp/pro/proxy.html

670 :未承諾広告※ ◆aiY4htt2.2 :03/08/26 17:24 ID:DSnVcpuN
>>669
勉強しなさい!(w

もとは「代理」鯖ですから。。。

671 :動け動けウゴウゴ2ちゃんねる:03/08/26 17:26 ID:+gPp/c/w
というか別に身元を隠すためのものではないので
そこら辺は正確に書いてもらわないと誤解を・・・・。

672 :動け動けウゴウゴ2ちゃんねる:03/08/26 17:32 ID:70mkKWV4
つーか「ようです」「らしいです」で何が言いたいのかと、、

673 :dq7(略:03/08/26 18:03 ID:3SD4ugKN
まぁ自分で言うのもなんだが適当に書き散らしただけ物ですからねー…。
やれやれ初心者が何かホラふいてるよ( ´,_ゝ`)プくらいに思っていただければ。(←先生こいつ馬鹿です!

ついでにそ503いから書き込みてしと、と。

674 :q208016.ap.plala.or.jp ◆dq7M./4Uw. :03/08/26 18:16 ID:9m5/rLWs
でもまぁ間違ったことかいたらあかんですからねー。。。
修正しとこうっと、どうも申し訳ねぇだす>突っ込んでくれた人々
んじゃ、以降無かったかのように話続行↓

675 :動け動けウゴウゴ2ちゃんねる:03/08/27 21:40 ID:ZbKga6P0
ビビビビ
ひろゆきが大量書き込み中

676 :動け動けウゴウゴ2ちゃんねる:03/08/27 21:54 ID:438h/Ztk
?

677 :cheshire-cat ◆CATBCJABLA :03/08/28 20:05 ID:z667ML2h
はじめまして。
ネットワークセキュリティ板の住民で、cheshire-catと申します。

現在ネットワークセキュリティ板では、2chスクリプトにおけるID生成についての議論を重ねています。
その関連で沸いた話なのですが。
http://pc.2ch.net/test/read.cgi/sec/1061164569/207-230n
http://pc.2ch.net/test/read.cgi/sec/1061164569/245-246n

要約いたしますと。
IDの生成は、十分なランダム性という点をクリアしているのか否かという点です。
#あまり安全な設定にしすぎると、bbs.cgi全体への負荷が重くなるという点は想像できますが。

現在利用しているbbs.cgiの公開は難しいとは思います。
多少スレの主旨とは違う無理な質問をしているとは、重々承知ではありますが。

ですから「心配無いよん!」もしくは「そこそこ、で。。。。」というレスでも結構ですので。
もし気が向きましたならば、アドバイスを頂ければ幸いです。
それでは宜しくお願い致します。


678 :未承諾広告※ ◆aiY4htt2.2 :03/08/28 21:30 ID:03zJD51Q
#MD5版ID導入
#last modified 2001年 10月 14日 by ばっきー

これ以降いぢっていないような悪寒(w

679 :動け動けウゴウゴ2ちゃんねる:03/08/28 21:48 ID:V4m9CjRl
どこかでマヴさんが中身載せてたような。>ID生成


680 :動け動けウゴウゴ2ちゃんねる:03/08/28 21:57 ID:S5Fg6RYs
ていうか現在のランダムさではだめな理由と
「十分なランダム性」を満たす要件を言えよ。
どうしたいのかがさっぱり見えない。 アホだろお前。

681 :動け動けウゴウゴ2ちゃんねる:03/08/28 23:31 ID:VuzrSZs9
ttp://age.s22.xrea.com/talk2ch/id.txt
これが2chのID算出方法みたいだけど、
これを今も使ってるのなら問題ないと思うが>十分なランダム性
>2chのID→IPアドレスの解析
どころか
>IPアドレス→2chのIDを推定
も(実際に書き込むまでは)不可能みたいだが

682 :未承諾広告※ ◆aiY4htt2.2 :03/08/28 23:43 ID:03zJD51Q
# /dev/randomを開き、先頭から16バイト読み出したランダムな値。
ここで失敗したときのことを議論しているんじゃなかったかな?石油板
手元の資料ではエラートラップしていないもより。。。
sysopen(RANDOM, "/dev/random", O_READ) || die "cannot open /dev/random $!\n";
sysread(RANDOM, $data, 16); # ここ
close(RANDOM);


683 :動け動けウゴウゴ2ちゃんねる:03/08/28 23:50 ID:VuzrSZs9
>開けない場合は、ランダムな数字
らしいから開くのに失敗したとしても大した違いはないような気もする

684 :未承諾広告※ ◆aiY4htt2.2 :03/08/29 00:03 ID:cWj9IOgI
>>683
sysopen(RANDOM, "/dev/random", O_READ) || die "cannot open /dev/random $!\n";
この部分以外にエラートラップが施していないので、
最悪、乱数を拾ってこられずに ID 生成する恐れがあるみたいです。ニヤリ

といっても自分の所持している bbs.cgi の ID を生成している部分が、
以後に改竄(wされていなければという前提ですけれど。。。

685 :動け動けウゴウゴ2ちゃんねる:03/08/29 01:03 ID:RLTQJrlY
>>677
俺の記憶が正しければ、IDは、IPアドレスの下数桁しか使っていないはず
だから、ランダム性に関係なく、全桁は求まらないはず

686 :動け動けウゴウゴ2ちゃんねる:03/08/29 03:13 ID:VojWUM5C
記憶っていうか>>681に書いてるわけだが

# IPアドレスからMD5を算出する。(16進数形式)
# 返ってきた文字列の"後ろから4バイト"を求める
$ipmd5 = substr(md5_hex($ip),-4);

687 :cheshire-cat ◆CATBCJABLA :03/08/29 06:42 ID:/j6Qpjr7
>>681
こちらも難しいとは思うんですが。

>>承諾広告※ ◆aiY4htt2.2様
そうですね。
結局は、今利用しているbbs.cgiの2chスクリプトがわからないと判断できません。

>>685-686
うーん。それであっても。
もしその板で活動している人達が、日頃からメールなりメッセなりQでやりとりしていれば。
匿名の投稿をどれが誰なのか特定できるかも、です。

688 :動け動けウゴウゴ2ちゃんねる:03/08/29 10:10 ID:eEmYHqu7
「かも」。 アホか。
セキュ板住人なら実際特定してから話もってこいよ。

ていうかスレ違いじゃんかよ。

689 :動け動けウゴウゴ2ちゃんねる:03/08/29 10:39 ID:pLsilB4y
>>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));
}




690 :未承諾広告※ ◆aiY4htt2.2 :03/08/29 18:26 ID:9vO/PFe2
>>689
sysread(RANDOM, $data, 16);
ここで 16 バイト読めなかったときのことです。
if (sysread(RANDOM, $data, 16) != 16) { 読み込めなかったときの処理; }
とする方が良さそうですね。

691 :未承諾広告※ ◆aiY4htt2.2 :03/08/29 18:32 ID:9vO/PFe2
話は変わって。。。
bbs.cgi が吐き出すエラー類。
2chブラウザの時(User-Agentが「Monazilla」を含むとき。)には、
特別なレスポンスヘッダ(エンティティ)だけを返すっていうのはいかがでしょう?
html返すよりかは多少は転送量が減りそうな。

凡例:
2ch-response: 200\n # 書き込み成功。
2ch-response: 300\n # 連投規制 ERR593みたいなの。
などなど。

692 :cheshire-cat ◆CATBCJABLA :03/08/29 19:34 ID:/j6Qpjr7
>未承諾広告※ ◆aiY4htt2.2さん

そこで素朴な疑問なんですが。
16バイト揃わなかったからどうする、ではなくって。
例えば「8バイトをrandから作成して、それを2回繰り返して、得られた乱数を掛けて16バイトに」とかではダメなんでしょうか。
もしくは1バイトずつ作成して16回繰り返して組み合わせる、とか。

#スクリプトへの負荷は大きくなりそうですが。
#さほど問題が無い範囲の回数で処理するなら、この手の問題はあっけなく簡単にクリアされそうな感じです。

693 :未承諾広告※ ◆aiY4htt2.2 :03/08/29 20:17 ID:9vO/PFe2
>>692
2ch と同じ値を出す目的でなければどんな方法でも良いかと。
単に石油板での懸念に対してそういえばこういうこともあり得るなぁと呟いてみただけでして(^-^)

694 :cheshire-cat ◆CATBCJABLA :03/08/29 21:43 ID:/j6Qpjr7
>未承諾広告※ ◆aiY4htt2.2 さん

そですよね。。。。
であれば「16バイトじゃなくって、もっと少ないバイト数の乱数しか作成できないかもしれないケース」は回避できますよね。
現在のbbs.cgiを公開は難しい(と言うか無理)でしょうが。
これらのレスを見た上で、管理サイドの人がそれとなーく改造してくれるのを切に願います。

石油板、後で見てみますねん(らぶ

おまけ。

このような脆弱性?を含む(かもしれない)ケースにおいて、対処する事はですね。
2chの運営において、セキュアな環境であるように積極的に取り組み、心がけているというポジティブなアナウンスになりますし。

それは多少遠まわしではありますが、企業イメージそのものの向上に繋がります。
長い目で見れば、それは東京アクセス単体ではなく、2chそのもののイメージアップに結びつきます。
それは利用者だけではなく広告主にも望まれる、事業展開の上で望ましい今後の戦略の一つです。

>管理者のお方
「修正したよん!」というアナウンスはこの際無かったとしても。
ひっそりと取り組んで頂ければ、それで結構です。
いずれにしても現状では、レアケースであったとしても安全な状況ではありません。
それではよろしくお願いいたします。

695 :動け動けウゴウゴ2ちゃんねる:03/08/29 23:30 ID:TE88n6mm
>>691
この要望は昔からあるけど、実装してくれないんだよなぁ。

696 :未承諾広告※ ◆aiY4htt2.2 :03/08/30 00:08 ID:Jw7oTfGC
>>695
やはり今までにもありましたか。
でも今はそれどころじゃないようですよね(w

♪おはようございます(w

697 :動け動けウゴウゴ2ちゃんねる:03/08/30 02:24 ID:zG6IZkv4
>>694
カタカナが多くて読みづらいなぁと思った。

698 :動け動けウゴウゴ2ちゃんねる:03/08/30 12:47 ID:97n7Iir5
>>694
だからさ、なにが脆弱で、なにがアンセキュアなの?

699 :動け動けウゴウゴ2ちゃんねる:03/08/30 12:59 ID:dNG9eM+6
>>690
/dev/randomって読めなければ読めるまでブロックするのでは

700 : :03/08/30 22:31 ID:F69prBwu
シロウトなんでよく分かんないけど。
自分のIPから実際に2chにテスト書き込みして、表示されたIDを記録。
自分のIPと板文字列と全てのrandomからIDを生成するプログラムを走らせて。
一致するかどうかをチェックする。
その一致したときに使ったrandomが正解。
randomの値が16バイトなら2^128回も計算する必要が有る。(IPv6の大きさぐらい)
しかしrandomがあまりブレていないと、割り出される可能性が上がる。

こんなかんじ?

701 :cheshire-cat ◆CATBCJABLA :03/08/30 22:41 ID:qiZ4CHeM
>>699
ちゃんとブロックされるならば、ね。

>>700
おおむねの主旨は、その通りです。

702 :s068112.ap.plala.or.jp:03/08/30 23:57 ID:pN4gc40M
そもそも
掲示板への書き込みから書いた側のIPアドレスがわかる==セキュリティ上問題がある
という考え方がとっても素敵ですね。
まさか世の中にIPアドレスを記録どころか表示する掲示板などないでしょうし。

703 :動け動けウゴウゴ2ちゃんねる:03/08/31 00:10 ID:QN+J/UGv
>>702
何を言ってるのか分からないんだけど。


704 :動け動けウゴウゴ2ちゃんねる:03/08/31 00:46 ID:DtOCoLZ0
「今日の君は最高だよ」ってことだよ

705 :動け動けウゴウゴ2ちゃんねる:03/08/31 02:44 ID:nmfN01ro
>>703
反語の一種じゃないかなぁ。

706 :動け動けウゴウゴ2ちゃんねる:03/08/31 03:32 ID:3EHnKReD
>>701
OSのバグの可能性まで言い出したらきりないでしょ
つーかどのバージョンのどのディストリビューションだとこうだとか
テスト結果くらいつけてくれなきゃ単なるFUDだな

707 : :03/08/31 13:12 ID:0OTuI4Kd
FUDというほど曖昧な指摘ではない気がするけど。


708 :動け動けウゴウゴ2ちゃんねる:03/09/01 00:29 ID:sL5eWO1O
今携帯から書けないのはcgi弄ってるから?

709 :未承諾広告※ ◆aiY4htt2.2 :03/09/02 06:20 ID:SInHtzBX
さて話は逆戻りして(w
件の ID 生成ルーチンだけど、未だ ID 生成してから ID の「表示」、「非表示」、「 ??? 」、「強制HOST表示」等の
判定をしているかな?
表示しないときはおそらく無駄な処理かと。
・・・もうやってないよね?(w

710 :動け動けウゴウゴ2ちゃんねる:03/09/02 14:03 ID:2FJIs2Gq
書き込み内容や連投チェックのために早い段階でSETTING.TXTを読み込んでいるだろうから、それはないだろう。

711 :名無しさん:03/09/02 14:36 ID:Oj+w1iSc
>709
規制情報板を見ると、IDの無い板でもIDらしきものが・・・。

712 : :03/09/02 20:27 ID:Gs5KpmU4
重いmd5を何回も計算して、それを最後に使わずにステ?

713 :未承諾広告※ ◆aiY4htt2.2 :03/09/02 20:49 ID:wI7UdG96
>>712
手元の資料ではそうなっていましたので(w

714 :cheshire-cat ◆CATBCJABLA :03/09/02 23:05 ID:AIzYKvbL
いっそ365日分のを予め16バイト適当に作成して、それをどっかのファイルに書いてCGIから呼び出す、って手もアリかなぁ。

715 : :03/09/03 01:40 ID:gDFS662j
セキュリティの基本としてはそのランダム表の管理コスト発生は見逃せない。
設計者や管理者でも何が出るか解らないのが/dev/urandomのメリットだと思うし。
だから隠したり管理する必要が無い。

それとも2^128分のmd5したID表を持っておく?


716 :動け動けウゴウゴ2ちゃんねる:03/09/03 01:44 ID:lnfaXmlh
その巨大な表を管理するくらいならランダム表を管理したほうが
よっぽどマシげ

717 :動け動けウゴウゴ2ちゃんねる:03/09/03 15:48 ID:Liyi6npu
うらんだむw>>715

718 : :03/09/03 17:24 ID:gDFS662j
>>717
google /dev/urandom

Linuxじゃ違うデバイスだったっけ?

719 :動け動けウゴウゴ2ちゃんねる:03/09/03 17:34 ID:BoUwjJjN
>>718
赤帽7.3も /dev/urandom


720 :動け動けウゴウゴ2ちゃんねる:03/09/03 17:41 ID:Liyi6npu
あLinuxのデバイスでこんなのあるんだ。ハズカシ。>>718,719
日頃Linuxつかわんので知らなかったスマソ。

721 :仕事人 ★:03/09/05 03:14 ID:???
Perl で

$a = "ふいうえおあいうえおあいうえおかきくけこ"
$b = "うえ";
だった場合、$a の中に $b が何回現れるかってのは
どうゆうコード書くんですか?

$nnn = &kaisu($a,$b) ; みたいに使いたいんですけど。

722 :未承諾広告※ ◆aiY4htt2.2 :03/09/05 03:24 ID:GoWtDYBe
>>721
$nnn = ($a =~ s/$b/$b/g);
で OK かな。
$nnn = ($a =~ s/\Q$b\E/$b/g);
ってしておくと安全かな?

723 :仕事人 ★:03/09/05 03:27 ID:???
おおっ
どうもです

さっそく実験してみよう。

724 : ◆haGe4kFoYU :03/09/05 06:09 ID:dRPP+vBR
sub kaisu{
my ($a, $b , $nnn) = @_;

$nnn = 0;
$nnn ++ while ($a =~ /\Q$b\E/g);

return $nnn;
}

こうゆうのは?

725 :動け動けウゴウゴ2ちゃんねる:03/09/05 12:23 ID:OT1urU7y
これに使ったわけですね
http://qb.2ch.net/test/read.cgi/operate/1062700935/

726 :動け動けウゴウゴ2ちゃんねる:03/09/05 23:40 ID:P8noXk7r
よくあるけど、書き込み時に
http://up.isp.2ch.net/up/4eafd314948b.JPG なの表示させて
これをメール欄に入れないと書き込めないとか。

727 :動け動けウゴウゴ2ちゃんねる:03/09/05 23:42 ID:umtSv4Qa
そこまでする必要あるのか……?

728 :動け動けウゴウゴ2ちゃんねる:03/09/06 00:01 ID:Mty2Lo/O

sub cntStr{# 文字列の個数チェック
local(*_str,$_ptn) = @_;
my($_pos,$_cnt) = (0,0);
while(($_pos = index($_str,$_ptn,$_pos)) > -1){
$_cnt++;
$_pos++;
}
return $_cnt;
}


729 :cheshire-cat ◆CATBCJABLA :03/09/07 16:01 ID:91vWmZMi
>>715
>セキュリティの基本としてはそのランダム表の管理コスト発生は見逃せない
そですね。。。。。(ウツ

urandomって(こちらのスキル不足のため)どの程度「安全」なのかよーわからないんですが。
http://www-6.ibm.com/jp/developerworks/security/000908/j_randomsoft.html

まずはプールを保存するのが、第一手なんでしょか。
↓こんなの↓
http://www.linux.or.jp/JM/html/LDP_man-pages/man4/random.4.html

それと、bbs.cgi ver 0.31 (02/04/06)とかがアップされてて。
(本物かどーかは知らないです)
http://2ch.nekoruri.jp/fileboard/files/img20020914075919.txt
/dev/randomが利用できない時にrand(9999999999999999)と言う併用は、あまり意味ないんでしょうか。
うーんうーん、よーわからんです。

730 : ◆rafale0Mno :03/09/07 22:39 ID:4vATWXtO
>>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にカキコできないのですか?

735 :動け動けウゴウゴ2ちゃんねる:03/09/09 19:41 ID:I/ayVX2N
ここのせいって・・w

736 :別スレ865:03/09/09 20:54 ID:xIZbK3vr
ひょっとして今夜、
>>585
>PROXY規制について
を実行に移したんですか?

737 :FOX ★:03/09/09 21:20 ID:???
現在ポートチェックしてないです。


738 :動け動けウゴウゴ2ちゃんねる:03/09/09 21:21 ID:xIZbK3vr
>>737
HTTPヘッダの Connection: は見てますか?

739 :動け動けウゴウゴ2ちゃんねる:03/09/09 21:22 ID:xIZbK3vr
http://qb.2ch.net/test/read.cgi/operate/1062307165/898

740 :動け動けウゴウゴ2ちゃんねる:03/09/09 21:28 ID:54yUCZjy
串に対して HTTP1.0 と HTTP1.1 で書いてみたけど両方書けたよ。
Keep-alive 限定ではなさそう

741 :動け動けウゴウゴ2ちゃんねる:03/09/09 21:55 ID:2qba2AKb
>>737
http://qb.2ch.net/test/read.cgi/operate/1060081555/706-707

AirH"Phoneで
221.119.0.0/24
221.119.1.0/24
221.119.2.0/24
221.119.3.0/24
この帯域が抜けてるみたいなんですけど、
対応できますか?

742 : ◆haGe4kFoYU :03/09/10 17:09 ID:/k/QZDd9
>>585を採用の予感ですか

採用してくれたんはありがたいけど許可リストつくらなあかんのちゃう?
強制PROXYとか、グローバルIPじゃないひととか
わりとひっかかっちゃうようなきがする・・

743 :動け動けウゴウゴ2ちゃんねる:03/09/11 14:43 ID:j8T6ESsE
ぶちゃった話、マルチポスト広告を防ぐには、
投稿内容中のURLをデータベースでチェックして
頻繁に書き込まれてないかチャックするしかない。

それにアクセス規制してもイタチごっこになるだけだから、
広告の書き込みは、実際には投稿は完了しないが、
投稿が完了したように見せかけることでイタチゴコを防げる。

744 :動け動けウゴウゴ2ちゃんねる:03/09/11 15:16 ID:VUVQ7dRT
>>743
書けてる書けてないは
2chブラウザ使っているとすぐ分かるけど。

745 :動け動けウゴウゴ2ちゃんねる:03/09/11 15:18 ID:i2w7C7zk
qge2ch.pl は書き込めたかのチェックも自動でやるし、

746 : :03/09/11 15:52 ID:KEGYibja
urlのNGリスト照合。*****で置き換え。全角半角区別なし。

747 :動け動けウゴウゴ2ちゃんねる:03/09/11 15:55 ID:j8T6ESsE
>>745
それじゃあ、書き込み時にリストアップしておいて、
後で自動的に消すくらいしかできないかな・・・

748 :動け動けウゴウゴ2ちゃんねる:03/09/11 17:02 ID:DdxEgFsK
>>746
それがいいと思う
名前とメール欄も対象にしてね

749 :動け動けウゴウゴ2ちゃんねる:03/09/12 00:33 ID:DNhKw4yP
で、板が焼き払われたりdatが壊れたりすると。
正直2回も壊滅的被害及ぼしてるものの開発を
これ以上けしかけないでほしい

750 :動け動けウゴウゴ2ちゃんねる:03/09/12 00:35 ID:CNz9taQX
というかそろそろ板の性質に合わせて開発していくほうが大事なような

751 : :03/09/12 01:42 ID:RnJ83mFT
いっそのこと、書き込み時にNGリストに含まれる文字があったら。
クッキー警告みたいに「NGワードが含まれています」とはねると言うのはどうか?

NGワードのデータベースはcdbを使って、PerlバインディングとCライブラリから呼び出す。
ero-senden-url.com/hiroyuki/:deny
:allow
みたいな感じで、テキストに追記すればいいからメンテも楽だし。
allowかdenyのチェックだけなので、ハッシュサイズで数百メガぐらいまでは現実的な速度で動作するでしょ。

752 :動け動けウゴウゴ2ちゃんねる:03/09/12 12:46 ID:fJAJWyQ4
あめぞうの二の舞

753 :動け動けウゴウゴ2ちゃんねる:03/09/20 17:52 ID:Wxwmv793
ほほほい

754 :仕事人 ★:03/09/21 19:49 ID:???
たまに r.i.core ってのが出来ているです。

755 :root ★:03/09/21 20:33 ID:???
>>754
確かにできてますね。でも、微妙にスレ違いかも。

r.iのバグ報告はだれに言えばいいのかしら。

756 :動け動けウゴウゴ2ちゃんねる:03/09/21 22:09 ID:zUOgy0c4
>>754
r.i のソースって公開されてる?

757 :仕事人 ★:03/09/23 03:07 ID:???
あららっ
もししかして r.i って書き下ろしたの
わたしだったという記憶が、、、



758 : ◆X7F1FulWvk :03/09/23 07:45 ID:p0whyXhS
いやん。わすれないでよー

759 :動け動けウゴウゴ2ちゃんねる:03/09/23 11:02 ID:3e3DTc1C
>757
仕事人さんではなくて、r.iんごさんだったと記憶していますが。



Σ(゚д゚|||) マサカッ!!!

760 :p.i んく ★:03/09/23 18:44 ID:???
うんうん。

761 : ◆dDfdgD8zBc :03/09/27 21:34 ID:QTdNHMy4
https://plaza.rakuten.co.jp
httpsテスト

762 : ◆dDfdgD8zBc :03/09/27 21:35 ID:QTdNHMy4
2chhttpsに直リンしてもhttpに変換されてますね
すれ違いスマソ

763 :動け動けウゴウゴ2ちゃんねる:03/09/27 21:37 ID:cAK5BkCT
read.cgi ではリンクされてないよ。
2ch ブラウザの種類によるんじゃない?
かちゅもリンクしないし

764 :動け動けウゴウゴ2ちゃんねる:03/09/27 21:58 ID:6ftxXJYy
index.htmlのことだろう。今確かめてみた。
わざわざageたのもそれを確かめるためだろ。

765 :動け動けウゴウゴ2ちゃんねる:03/09/27 22:04 ID:cAK5BkCT
おおー
index.html なんてめっっったに見ないからわからんかった。 ごめんょ

766 :動け動けウゴウゴ2ちゃんねる:03/09/28 03:10 ID:vWQZsUdL
試しにあげさせてくらさい

767 :動け動けウゴウゴ2ちゃんねる:03/09/28 03:12 ID:vWQZsUdL
こいつはびっくりだ( д)゚ ゚
https://aaa.bbb.ccc

768 :動け動けウゴウゴ2ちゃんねる:03/09/28 04:13 ID:Iwy+j6CM
bbs.cgiは関係無いんだからテストスレでやろうよ

769 :動け動けウゴウゴ2ちゃんねる:03/10/02 13:44 ID:ehSNr0G8
カーネル2.6、すごいらしいが、
試す勇者はいないのか。

770 :さくじょくん ◆DeleteNork @さくじょくん ★:03/10/02 17:26 ID:???
こんばんわ。すっかり日が沈むのも早くなり、
いよいよ秋が来たんだなぁと実感している今日の頃、
皆様はいかがお過ごしでしょうか。
読書の秋、食欲の秋と言うことで、毎日お菓子を食いながら
漫画を読んでいたら、なんと5`も太ってしまったさくじょくんです。

さて、本題ですが、昨日名前欄に「◆」がある書き込みを見掛けました。
いえ、トリップではないんです。トリップではなく、「◆だけ」なんです。

たとえば、これなんですけど、
http://news5.2ch.net/test/read.cgi/newsplus/1064996047/12
http://news5.2ch.net/test/read.cgi/newsplus/1064885459/122
http://news5.2ch.net/test/read.cgi/newsplus/1063951810/707
◆だけだったり、「名前◆」だったりしてます。
ご覧の通り、トリップではないみたいです。

そこで、ひろゆきさんに質問してみたところ、
http://news5.2ch.net/test/read.cgi/newsplus/1064996047/44
とのことでした。

もしかするとbbs.cgiの仕様(?)かなーと思い、このスレの方々に質問してみました。

771 :(-TωT)ノ:03/10/02 17:41 ID:Hzp7jNnm
http://that.2ch.net/test/read.cgi/gline/1042151015/610
見つけたのコソーリ貼ってみます。
原因判明の一助になれば。

772 : ◆ETQzzmR0kI @さくじょくん ★:03/10/02 17:45 ID:???
#_迺黹

ここではならないんですね。
news5だと◆になる。。。

んー。root★さんの分野かも?

773 :遙皇 ◆HEHARUKAoo :03/10/02 17:51 ID:3ZmC4GEp
双子のnews6も同じですた。
http://news6.2ch.net/test/read.cgi/mnewsplus/1063802394/310


774 :rafale ★:03/10/02 18:00 ID:???
どこかで見つけたログで、null文字投げたらそうなるとかいうのは見つけましたが…

775 : ◆ETQzzmR0kI @さくじょくん ★:03/10/02 18:10 ID:???
>>774
昔見掛けた「@★」がそうですか?

776 : ◆DeleteNork @さくじょくん ★:03/10/02 18:10 ID:???
おぉ、、、「#_迺黹」トリップ。。

777 :動け動けウゴウゴ2ちゃんねる:03/10/02 18:11 ID:xObJNmmd
なんでなる板とならない板があるんだ

778 :root ★:03/10/02 18:13 ID:???
>>772-774
気にはなってました。おかしくなる実例を出してもらえたので、解析できるかな。
しかし、よく実例がわかったすね。

779 :動け動けウゴウゴ2ちゃんねる:03/10/02 18:13 ID:oyskcDpe
>>770
最初の4行だけ見たんですけど、何が言いたいんだかさっぱりわかりません。
いい加減にしてもらえませんか?

780 : ◆DeleteNork @さくじょくん ★:03/10/02 18:14 ID:???
>>778
実例は>>771さんが。

781 :rafale ★:03/10/02 18:31 ID:???
ここ数日にどこかで詳細に書いてある過去ログへのリンクが有ったんですが…
今出張準備の合間にログ検索してます。

782 :動け動けウゴウゴ2ちゃんねる:03/10/02 19:06 ID:dF2KiSkk
多分批判要望の雑談スレ

783 : ◆DeleteNork @さくじょくん ★:03/10/03 08:47 ID:???
>>779
いま気付いたけど、5行目まで読まないと意味がわからないようになってます。

784 :未承諾広告※ ◆aiY4htt2.2 :03/10/03 12:57 ID:O7YGJ56S
crypt()の返り血が空っぽになるんだろうか?(undef)
ビット列にしても何らおかしな感じはしないような。。。
0x875FE792EA83
10000111_01011111_11100111_10010010_11101010_10000011
ん?残りの 2 バイト (16 ビット)は、どうなるんだろう・・・?

785 : ◆if11rrrXJg :03/10/03 14:54 ID:k9SZ3v2M
>>781
教えてもらったんですけど、これですよね
http://aa2.2ch.net/test/read.cgi/accuse/1063116248/253〜285-289 あたりのようで。

> http://corn.2ch.net/entrance/kako/1008/10087/1008768516.html
> http://cocoa.2ch.net/test/read.cgi/qa/1024072089/

っつか>>782
il||li _| ̄|○ il||li 雑スレ。。。。

786 :動け動けウゴウゴ2ちゃんねる:03/10/03 17:31 ID:eFWjZejN
全然関係ないんだけど

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:???
うわ。★出たよ。
正直ビビッタ。


ワロタ

787 :未承諾広告※ ◆aiY4htt2.2 :03/10/08 22:32 ID:IZVPs4Su
おりょ?
●でも連投規制(timeclose)が動くようになってきたのかな?

788 :動け動けウゴウゴ2ちゃんねる:03/10/08 22:36 ID:9u2y3K1W
以前から、timeclose系連投規制は●では回避できませんよ。

789 :動け動けウゴウゴ2ちゃんねる:03/10/08 22:48 ID:gD9iKzFx
timeclose系の連投規制激しくムカつきます

790 :未承諾広告※ ◆aiY4htt2.2 :03/10/08 23:03 ID:IZVPs4Su
あれ!?そうなんだ。。。

791 :動け動けウゴウゴ2ちゃんねる:03/10/09 08:21 ID:hMqUIgM8
timeclose回避出来る高級●売り出してくれ
ノーマル●の4倍くらいの値段でも買う

792 :未承諾広告※ ◆aiY4htt2.2 :03/10/09 12:33 ID:uPUkolSX
では垂れ流し。
まずは書き換えたリストから。
行頭と行末の半角スペースは必ず消してください。。。

でわっ!(藤井南美ちゃん風)

793 :未承諾広告※ ◆aiY4htt2.2 :03/10/09 12:35 ID:uPUkolSX
と思ったら、長すぎエラー出るやん(滂沱)
長文は★特権だったのね(羨)

794 :未承諾広告※ ◆aiY4htt2.2 :03/10/09 12:43 ID:uPUkolSX
チェックルーチン部
 http://baila6.jp/sv2ch/pip_chk.txt
規制リスト
 http://baila6.jp/sv2ch/plist.txt
でぇす。

穴があったら訂正します。
つっこみ募集中(w

795 :未承諾広告※ ◆aiY4htt2.2 :03/10/09 12:43 ID:uPUkolSX
あ、ageときます。m(_ _)m重ね重ね

796 :動け動けウゴウゴ2ちゃんねる:03/10/09 13:49 ID:yxJrWaIX
>>793
★じゃなくて管理者特権
普通の★じゃ規制されるよ

797 :未承諾広告※ ◆aiY4htt2.2 :03/10/09 15:05 ID:uPUkolSX
>>796
解説ありがとうです。
なるほどーそうなんですか!

まだまだ2ちゃんねるは知らないことがいっぱい(わくわく)

798 :動け動けウゴウゴ2ちゃんねる:03/10/09 17:21 ID:PxpmMG0r
こんなのが2chに入ったら即死亡だな。
少し頭を使え。

799 :動け動けウゴウゴ2ちゃんねる:03/10/09 17:25 ID:d8NnN9Ng
最近の2ちゃんねるは入ることが出来るのですか?
あまつさえ死ぬことがあるのですか?
びっくりです。

800 :FOX ★:03/10/09 17:30 ID:???
広告爆撃の 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アドレスをピンポイントで自動的に規制できる

↓賛否両論 (放置はイヤン)

801 :動け動けウゴウゴ2ちゃんねる:03/10/09 17:35 ID:tvBj/dl/
bbs.cgiが重くなる

802 :FOX ★:03/10/09 17:39 ID:???
>>801
ほんと?

ずいぶんと軽くなると思うけど、

803 :動け動けウゴウゴ2ちゃんねる:03/10/09 17:43 ID:K/evbvSc
たまたま同じアドレスの奴が全然違う板にURLを貼って規制される。
自治スレなんかで看板投票の呼びかけをした奴が規制される。

せめて一時間に三度くらいにしておかないと。

804 :動け動けウゴウゴ2ちゃんねる:03/10/09 17:43 ID:XukkhSdq
特定の URL ってのは業者の URL を手で書くんだよね?
たとえばアップローダへの URL をコピペしてると自動的に規制とかじゃないよね?

805 :動け動けウゴウゴ2ちゃんねる:03/10/09 17:44 ID:K/evbvSc
あっ、特定のURLでした。スマソ。
でも規制URLは公表して欲しいね。

806 :動け動けウゴウゴ2ちゃんねる:03/10/09 17:45 ID:K/evbvSc
特定のURLは過疎板に貼っておいて、アンカーで勝負する手もありうる。

807 :root ★:03/10/09 17:45 ID:???
>>800
bbqシステムへの自動登録すか。悪くないかも。
Dynamic DNSの技術を使えば、できる気がします。
うまくやれば、bbs.cgiでテーブルをみなくてもすむので、今よりも軽くなるでしょう。

今設定しようとしている(Proxyチェック用の)ドメイン(nikuやsumi)とは、
別のドメインを使ったほうがいいかな。

808 :FOX ★:03/10/09 17:48 ID:???
三分間も寝ないで考えたたたき台ですから、
思考実験してもしかしたら何かうまい方法ができあがるかもよ。

809 :動け動けウゴウゴ2ちゃんねる:03/10/09 17:48 ID:mRSlHuod
>800

とりあえず、つっこみ

1)特定URLを全て転送アドレスを大量に用意することで回避されてしまう
3)同一IPでのチェックでは頻繁に繋ぎ変えで対処されてしまう。
 もし、別の人間が繋ぎ変えたときにそのIPになると完全に巻き添えに
 なってしまう

810 :root ★:03/10/09 17:52 ID:???
こんな感じかな。串焼き用の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なら投稿規制

811 :動け動けウゴウゴ2ちゃんねる:03/10/09 17:53 ID:XukkhSdq
bbx.2ch.net が落ちたらガクガクブルブル

812 :root ★:03/10/09 17:53 ID:???
>>809
そのとおりですね。いずれにせよ「いたちごっこ」であることにかわりはなさそうだ。

813 :root ★:03/10/09 17:55 ID:???
>>811
はい、そのとおりかと。
bbx.2ch.netが落ちていても(登録や悪金ができないだけで)、ブロックしないように
する工夫は必要でしょう。

814 :FOX ★:03/10/09 17:57 ID:???
bbs.cgi とは直接関係無いけど
各部署の人員配置も思考実験では考慮したい。

>>810 を仮定すると。
1) の検知の前に登録作業がある。

ここは自動化は出来ない(登録すべきかどうかの判断)
そのあとは自動化できると思うけど、

最後の解除のあたりも考えなきゃねぇ

815 :動け動けウゴウゴ2ちゃんねる:03/10/09 17:59 ID:d8NnN9Ng
リモホではじくの?
単純にn回以上書き込まれたURLは不可、ではダメですか?

816 :動け動けウゴウゴ2ちゃんねる:03/10/09 17:59 ID:CAkwsqHV
>>800
>IPアドレスをピンポイントで自動的に規制できる
IPアドレスからの投稿を全て規制してしまうのではなく、
そのIPアドレスがURL込みの投稿をした場合拒否する、
という仕様なら、巻き添えがあっても被害が小さいかもです。

817 :FOX ★:03/10/09 18:02 ID:???
各広告対策スレッドを見ていただければ
どれだけの人員、労力が投入されて現2ちゃんねるを
少しでも使いやすくするために日夜うごかされているかを
見ることができます。

1) 広告爆撃のデータ収集
2) URL の特定
3) bbs.cgi にログ収集部の追加
4) 再爆撃の確認
5) ログを見て規制
6) ISPへの連絡

1) -> 6) を三回ほど繰り返し

7) 永久規制の提言

さらにループをN回?

818 :動け動けウゴウゴ2ちゃんねる:03/10/09 18:02 ID:XukkhSdq
URL は正規表現付きで登録できたらいいなぁ、

819 :root ★:03/10/09 18:09 ID:???
>>814
なるほど、URIを登録するDBが必要なのか。
いずれにせよ、テキストファイルだとスケールしなさそうだなぁ。

820 :未承諾広告※ ◆aiY4htt2.2 :03/10/09 18:15 ID:uPUkolSX
書き込みがプチ祭りしていたのでドキドキしました(w
そろそろ bbq 祭りですね(嬉)
niku,sumiは、getbyhostname() 等で会話が出来るけれども、bbx(仮)さんとの会話の手段はどうなるんだろう?

821 :動け動けウゴウゴ2ちゃんねる:03/10/09 18:18 ID:d8NnN9Ng
こんな感じじゃダメでしょうか?

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が落ちていると判断して、諦めて書き込む

822 :rafale ★:03/10/09 18:34 ID:???
>>796
遅レスだが、★にそんな区分はないらしいよ。
現に漏れのでも改行規制超えられるし。

823 :動け動けウゴウゴ2ちゃんねる:03/10/09 18:38 ID:PxpmMG0r
「できたらいいな」ぐらいにしとけ
bbqと違って失敗するのは目に見えてるぞ

824 :未承諾広告※ ◆aiY4htt2.2 :03/10/09 18:45 ID:uPUkolSX
AD Bluster は URI 登録だけでいいのでは?
広告を避けるための手段として該当する URI を排除するのであるならば。
該当すれば、エセ「書きこみました。」を出力しておけばよいと思うけれど。

825 :FOX ★:03/10/09 18:46 ID:???
>>823
すくなくとも大幅な省力化はできるかと、
ISPへの通知まで含めて。

826 :動け動けウゴウゴ2ちゃんねる:03/10/10 03:35 ID:grgIAsQn
工夫の無い業者向けの自動登録・収集システムなんだけど。

たとえば、.NET CLR (.NET CLR 1.1.4322や.NET CLR 1.0.3705)のような
あからさまにあやしいクライアントの場合、
1)bbs.cgiでブラウザ判定。ぁゃτぃ
2)bbqに全書き込み内容、または、ホスト、本文中に含まれるリンク等の情報を通知。
3)bbqでデータベース化。10個同じリンクやホストのやつがたまったらそのホストを
  別枠で公開串規制化しつつ各サーバにログ保存のキーワードとしてリンクアドレス等の情報を送信。
4)各サーバで書き込みログを収集。

こんな感じでしばらくの間は御新規さんや変異さんにある程度対応できないかな、と。

いや、最初から公開串規制扱いでもいいんですけど、すぐに対応されそうなので、
少し泳がせておいてからISPに切ってもらうのもええんではないかと。

827 :動け動けウゴウゴ2ちゃんねる:03/10/10 04:34 ID:grgIAsQn
よく調べてたら前々あやしくなかった……
吊ってきます……

828 :未承諾広告※ ◆aiY4htt2.2 :03/10/13 02:06 ID:4n4CsYpr
★トリップ回路の改良要求が出ていますね。
 http://qb.2ch.net/test/read.cgi/operate/1062137886/754

末尾よりも、#の次に$を入れて塩指定とかの方がよいかな?

#01234567 -> $salt="H1"
#$HB01234567 -> $salt = "HB"

みたいな。

★アクセス規制探索回路?もぼつぼつと。
 http://qb.2ch.net/test/read.cgi/operate/1064210067/487-

bbq には httpd が入っているのでそれを使うとか?

my ($code,$deny_host) = &chk_host($hostname);
if($code) { Disperror("ERROR!","アクセス規制中です。$deny_host"); }

みたいな感じでチェック。
bbq.2ch.net/?$hostname で会話してみるなどなど。
これは公開しておくと自前でチェックできるとか。

規制の登録・解除は、bbq.2ch.net に専用の CGI を設置しておくとか。
こちらはもちろん非公開(苦笑)@認証付けておくのもよいかも。

829 :未承諾広告※ ◆aiY4htt2.2 :03/10/13 21:15 ID:Oznqzfor
>>828
なんだか反応がありませんね(泪)
取り敢えずブツを示せということかな?

> ★アクセス規制探索回路?もぼつぼつと。
ひとまずこちらを自鯖ででっちあげてみます。今日中には動くかな?

830 :未承諾広告※ ◆aiY4htt2.2 :03/10/13 23:40 ID:Oznqzfor
>>829
ひとまずでっちあげてみました。

つかいかた。
 http://baila6.jp/sv2ch/chk_deny.cgi?リモートホスト名/該当鯖名/該当板名

 リモートホスト名:チェックしたいリモートホスト名を
 該当鯖名:サーバ名を(キャノニカルネーム)
 該当板名:bbs名を
 書式の凡例:
 http://baila6.jp/sv2ch/chk_deny.cgi?YahooBB219215001001.bbtec.net/qb.2ch.net/operate

戻り値。
 Check-deny-host: コンディション<>規制対象リモートホストの正規表現<>規制対象(全鯖、鯖、板)<>
 凡例:Check-deny-host: DENY<>^YahooBB218122<>all<>

 Check-deny-host: ヘッダ名。エンティティにも同じものを入れてあります(意味無しかも(哀))
 コンディション:規制対象以外なら ALLOW 、規制対象なら DENY 、規制対象でも規制してから72時間を超えた物は GONE になります。
 規制対象リモートホストの正規表現:現在のERROR!画面に出てくる文字列です。
 規制対象(全鯖、鯖、板):allなら全鯖、/で終われば該当鯖名、/が含まれた文字列ならば該当鯖の該当板です。

bbs.cgi にて、この CGI を呼び出せば、規制チェックが出来るかと。

規制リストは以前出ていたものに多少の色を付けてみました。
http://baila6.jp/sv2ch/plist.txt
詳細はリストに書かれています。

228 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)