733 :
動け動けウゴウゴ2ちゃんねる :
04/12/06 11:01:15 ID:CSmYIcng SETTING.TXT弄ったせいかtatesugiが効いてないような いくらでも立てれる
で調子に乗って立てすぎるとバーボンにひっかかる
orz
737 :
動け動けウゴウゴ2ちゃんねる :04/12/06 12:54:07 ID:eqq5M8TA
VIPでいい感じに乱立してますな てかex7全部か
うーむ。 VIP→いつも通り無茶苦茶 ラウンジ→混乱してるようないつもどおりのような 競馬→特に動き無し 野球→無茶苦茶 独身男性→動き無し 大学生活→無茶苦茶 難民→特に動き無し
板の特性がそのまま反映されてるねぇ
ああ、狼忘れてた 狼も特に動き無し
742 :
FOX ★ :04/12/06 14:01:18 ID:???
おおっ ぼちぼち改修しまーす
おつかれっす
何かやってますかな? POSTのみ遅い感じ、
狼書き込みが遅い
連投できないじゃないか
748 :
名無し募集中。。。 :04/12/06 16:14:41 ID:52y0P5ZZ
タイムラグありすぎて連投してしまうんですが、ここにいるひとたちのせいですか? 特に専用ブラウザ(俺のはゾヌ2)の挙動がなんかヘン
くぁあああああああfgrgらfkhmlr;fh
750 :
不動楽 ★ :04/12/06 16:37:09 ID:???
dso発ではない旧スクリプトですが、携帯関連の調整します。 DNSが正常化するまでの緊急処置です。
751 :
動け動けウゴウゴ2ちゃんねる :04/12/06 16:41:36 ID:4p7FvfKX
ex7の立てすぎなんとかしてー
752 :
不動楽 ★ :04/12/06 16:41:41 ID:???
通常の配布処理しては いけない サーバは、ex7以外にどこでしたっけ
あれ、配布して良いんだっけか…
ex7は実験で別のCGI(SpeedyCGI)入れてますからダメかと あとはdsoとbeかな?(隠しだけど
755 :
FOX ★ :04/12/06 16:53:06 ID:???
よいはず
了解す
何時の間にかスレが伸びているなーと思ったらbbs.cgi大分改造しているのね。 がんがれ〜
ただいま 395.33post/min LA 12.22 @ex7 スマスマにWU出演中のせい?
だろうね 実況スレ立ちまくってるし
瞬間どれくらいいったすかねぇ。 負荷試験中なんでむしろもっとどんどんやれーな感じだったかも。
ただいま 383.93post/min LA 9.48 @ex7 鯖復帰後の一時的な集中なのかネコミミなのか・・・。
500まで耐えられるもの、だよね…
ただいま 205.39post/min LA 22.61 @ex7 LA高いですね・・・。
>>766 ちょっと狼で書き込みテストしてみたけど、
書き込みは重くないみたい。
見てると、どーもスレ立て爆撃みたいっすね。< ex7 不自然に負荷が上がることがあります。 サーバが落ちることはなさそうなんで、 わたし的にはどうすることも(りゃ。 ぼちぼちおふろ入って、ねるかな。
>>767 おお、今日はいろいろと大変乙でした。
(3時前のLAのヤマは何だったんでしょうね?)
rootたんお疲れさまですー。おやすみ そいえば…スレたて放題?はこれ直してないまんま?
なるほどー。スレ立て爆撃ですか。 ゆっくりお休みくださいまし。
FOXがbbs.cgi直さないとどうにもならん罠
tatesugi規制がex7で効いてないんだけど
774 :
動け動けウゴウゴ2ちゃんねる :04/12/07 12:06:58 ID:bRpOKfJi
FOX★様 ex7 の bbs.cgi で書き込み時に 500 Internal Server Error が出る時があります。 ●を一度ログアウトして、再度ログインしてから書き込むと直ります。 ということは、おそらく、書き込み時の「再度ログインしてね」のパターンの時に 500 になるのだと思います。 お時間がありましたら調査よろしくお願いします。 以上
776 :
ひろゆき@どうやら管理人 ★ :04/12/08 00:05:06 ID:???
DBD::DBIって入ってるんでしたっけ?>だいたのサーバ
ひかる。ひかる。
>>776 DBI::DBD なら入っているかもです(苦笑)
無ければ、
$perl -MCPAN -e shell
して、
>install DBI::DBD
してみよう!
>>776 bananaには入ってますね。下記はex5。
$ pkg_info -aI | grep DB
p5-DBD-mysql-2.9003 MySQL driver for the Perl5 Database Interface (DBI)
p5-DBI-1.41 The perl5 Database Interface. Required for DBD::* modules
tiger/cobraには入ってませんが、
寝るまでに、入れておきましょ。
掲示板tiger/cobraに
>>779 を入れた。
rootありサーバの標準キットに入れることにしたんで、
5.3Rなサーバには、今度全部
>>780 は入るです。
782 :
ひろゆき@どうやら管理人 ★ :04/12/08 03:40:45 ID:???
わーい。ありがとうございますー。 DBI::DBDだったか、、
「どうやら」がこれほど似合う管理人はいない。
まったくだ。
一昨日から無効になってたex7のtatesugi規制はもう効いてるの?
効いていないの?
なんか効いてなくて乱立してたらしーよー
そうなんだ、 ジンギスカンだからとか、
特に問題は出ていないようなので、 Tiger全部に入れてみよう bbs.cgi(Speedy版)
Tiger/Cobra は全部 bbs.cgi(Speedy版) になりました live 8/16/17 news 18/19 game 9/10 hobby 7 ex 7
tatesugiは効いてるけどなんか変なのが出てきた。@live16 ━━━━━━━━━━━━━━━━ 新このホストでは、しばらくスレッドが立てられません。 またの機会にどうぞ。。。 名無しさん@お腹いっぱい。 (0 , 1) ホスト**** てすと 名前: 名無しさん@お腹いっぱい。 E-mail: 内容: てすとです こちらでリロードしてください。 GO! 分からないことがあったら2ちゃんねるガイドへ。。。 アクセス規制・プロキシー制限等規制は、2ちゃんねるビューア を使うと回避できることがあります。 途中経過 はじまりはじまりー SETTING.TXT よみこみむ? livesaturn SETTING.TXT よみこみーlivesaturn SETTING.TXT よみこみーlivesaturn完了!! 各種PATH生成 PATH=../livesaturn/ ---------------------------------------- PATH =[../livesaturn/] DATPATH =[../livesaturn/dat/] TEMPPATH =[../livesaturn/html/] IMODEPATH =[../livesaturn/i/] INDEXFILE =[../livesaturn/index.html] SUBFILE =[../livesaturn/subback.html] ---------------------------------------- PID=46987 time=1102460019 BBS.CGI - 2005 (SpeedyCGI = yes)(+Samba)
当たりということで、
>>793 それ、ex7では数日前から出てた
Sambaにかかったときとか
796 :
動け動けウゴウゴ2ちゃんねる :04/12/08 11:17:28 ID:jTKsiamC
>>791 問題でまくりですが。。
ex7の板が1000スレを超える乱立で、既存スレが一掃されてます。。
そのままばら撒いたら、危険極まりないかと。
>>796 そんな乱立するような馬鹿はVIPや大学生活や野球や狼などの一部の板にしかいません
>>797 それらの住人が他板へ侵攻しないとでもお思いで?
もう直ってるし
800 :
動け動けウゴウゴ2ちゃんねる :04/12/08 12:09:41 ID:AZJ+q9H2
スレ乱立は止まってるはずだよ
ソース下さい
ソースも何も自分で試して見れば?
今朝の時点でtatesugiは効いてたよ
つまりex7はtatesugiが効いていようが効いてまいがどちらか分からないぐらい糞スレばっかり立ってるって事だ。
つうことだ 気にスンナ、すんな
tatesugiきいてない ↓ VIPER狂喜乱舞してスレ立て祭り ↓ ex7のほかの板にも立て始める ↓ FOX ★が気付くけど何もしない ↓ その板の住人がtatesugi効いてないことに気付く ↓ その板の住人がスレ立て爆撃を始める ↓ tatesugi直る ↓ 糞スレだらけの惨状(VIP以外)
>>806 みたいな人を見ると、
日本人は世界的に見ても、読解力が劣っているという事実を実感する。
雑談スレではありませんよっと
>>684 bあたりの続きなんですが
また壁にぶつかった。。。
if(open(AAA,"aaa.txt")) { my @ppp = <AAA>; close(AAA); $FOX->{XXX} = @ppp; } なんてことをやりたいのに、、、 $FOX->{XXX}を、あとで見てみると要素数(行数)が入っている 配列を代入するにはどうしたらいいの?
こんな感じでうまくいたーよ if(open(AAA,"aaa.txt")) { my @ppp = <AAA>; close(AAA); $FOX->{XXX} = \@ppp; } で、あとで @{$FOX->{XXX}} って感じで読み出す感じで。
815 :
動け動けウゴウゴ2ちゃんねる :04/12/13 04:09:34 ID:LPQQCynf
>>748 ホットゾヌは1も2も飼い主が非公式板で悲鳴を上げております。
BBQ/BBX/BBY/BBS/BBM系をちょっとしたことで軽くできそう。 qb6で試してうまくいったみたいなので、飯の後にでもここに。
全サーバに配布した。bananaのは変わったはず。
>>817 ○変更の内容
my $query_addr = "$4.$3.$2.$1.niku.2ch.net.";
のように、BBx系を使用する場合最後に"."をつけるようにした。
これで、DNS queryの時のドメイン名補完がなくなり、DNS検索のコスト(かかる時間)が下がります。
通常の場合、特にBBSのような「その名前はない」という応答の場合、
1) gethostbyname("a.b.c.d.bbs.2ch.net"); を実行、
2) a.b.c.d.bbs.2ch.net に対してDNS問い合わせ => 該当なし
3) a.b.c.d.bbs.2ch.net.maido3.com に対してDNS問い合わせ => 該当なし
4) 呼び出し元に「該当なし」を返す
のような検索をしています。
この変更で 3) がなくなるので、
特にBBSの場合、呼び出しコストが半分になるはず。
>>818 これが使えるのは、
・BBQ (niku.2ch.net)
・BBS (bbs.2ch.net)
・BBY (bby.2ch.net)
・BBM (bbm.2ch.net)
・BBX (bbx.2ch.net)
の各問い合わせになります。
ということで、SpeedyCGI版bbs.cgiの更新作業を、
よろしくおねがいいたしますです。>FOXさん
おっ やるやる
>>820 おまけとして、maido3.com の DNSコンテンツサーバも軽くなるですね。
もうわかっておられると思いますが。
live16 でやってみた、
>>822 予期した動作をしているか、DNSログ確認してみます。
大丈夫の模様です。 (使用前、2回問い合わせ) @4000000041bd256e17e11344 query 376306 7f000001:e90e:a283 1 1102914915.5078.ないしょ.0.52.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net. @4000000041bd256e17e1da7c cached ns bbs.2ch.net. a.ns.bbs.2ch.net. @4000000041bd256e17e224b4 cached 1 a.ns.bbs.2ch.net. @4000000041bd256e17e276bc tx 0 1 1102914915.5078.ないしょ.0.52.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net. bbs.2ch.net. cedf9323 @4000000041bd256e181fd1c4 nxdomain cedf9323 2560 1102914915.5078.ないしょ.0.52.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net. @4000000041bd256e18215864 sent 376306 103 @4000000041bd256e1824139c query 376307 7f000001:306f:a284 1 1102914915.5078.ないしょ.0.52.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net.maido3.com. @4000000041bd256e1824e68c cached ns maido3.com. ns1.maido3.com. @4000000041bd256e18251d3c cached ns maido3.com. ns2.maido3.com. @4000000041bd256e182528f4 cached 1 ns1.maido3.com. @4000000041bd256e182530c4 cached 1 ns2.maido3.com. @4000000041bd256e1825638c tx 0 1 1102914915.5078.218.ないしょ.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net.maido3.com. maido3.com. cedf94fe cedf93fe @4000000041bd256e183e5644 nxdomain cedf94fe 2560 1102914915.5078.ないしょ.0.52.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net.maido3.com. @4000000041bd256e183f9a7c sent 376307 114 (使用後、1回のみ) @4000000041bd257225883914 query 376313 7f000001:fc9b:a71c 1 1102914920.6534.ないしょ.0.10.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net. @4000000041bd25722588c5b4 cached ns bbs.2ch.net. a.ns.bbs.2ch.net. @4000000041bd25722588f87c cached 1 a.ns.bbs.2ch.net. @4000000041bd25722589275c tx 0 1 1102914920.6534.ないしょ.0.10.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net. bbs.2ch.net. cedf9323 @4000000041bd257225e97f6c nxdomain cedf9323 2560 1102914920.6534.ないしょ.0.10.1102912571.livenhk.live16.2ch.net.bbs.bbs.2ch.net. @4000000041bd257225ead344 sent 376313 100
んじゃ 順次、順二、淳二
稲川淳二
高田(ry
>>814 やってみたけど、 $FOX(SpeedyCGI においてグローバル) では
うまく行かなかったです。
どうしてかなぁ
これでどうかしらん。 if (open(AAA, "aaa.txt")) { @{$FOX->{XXX}} = <AAA>; close(AAA); } でもグローバルなら安直に @FOX_XXX = <AAA> でいいような気がする。
>>830 たしかに、、、
ただ、将来の変更への耐性が落ちるか、
それはその時にその担当者に頑張ってもらおう。
file i/o を減らすのだ 第八弾(ID生成ルーチン) 1) 毎回 HDD にアクセスしているのを何とかしたい、 2) 毎月同じIDになるのを何とかする? 3) あとなんかあったっけ? 今 コード出します。
{ #IDを生成する use Digest::MD5; my $md5 = Digest::MD5->new; use Digest::MD5 qw(md5_hex); #my $idnum = md5_hex($ENV{'REMOTE_ADDR'}); my $idnum = md5_hex($GB->{IDNOTANE}); $idnum = substr($idnum,-4); $md5->add($idnum); $md5->add($GB->{FORM}->{"bbs"}); #$md5->add(substr($GB->{DATE},6,2)); my $md5datefile = "$GB->{PATH}/md5.cgi"; if(-e $md5datefile){ open(MD5FILE,"<$md5datefile"); my $md5line = <MD5FILE>; close(MD5FILE); my ($md5date,$md5number) = split /<>/,$md5line; if($md5date eq $GB->{MD5DATE}){ $md5->add($md5number); }else{ open(MD5FILE,">$md5datefile"); my $data = ""; sysopen(RANDOM, "/dev/random", O_READ) || die "cannot open /dev/random $!\n"; sysread(RANDOM, $data, 16); close(RANDOM); print MD5FILE "$GB->{MD5DATE}<>$data"; close(MD5FILE); $md5->add($data); } }else{ open(MD5FILE,">$md5datefile"); my $data = ""; sysopen(RANDOM, "/dev/random", O_READ) || die "cannot open /dev/random $!\n"; sysread(RANDOM, $data, 16); close(RANDOM); print MD5FILE "$GB->{MD5DATE}<>$data"; close(MD5FILE); $md5->add($data); } chmod(0777,"$md5datefile"); my $idcrypt = $md5->b64digest; $idcrypt = substr($idcrypt,0,8);
こんな感じ? use Digest::MD5; use Digest::MD5 qw(md5_hex); my $md5datefile = "$GB->{PATH}/md5.cgi"; if (!defined $FOX->{MD5NUMBER}) { # まだ読み込まれていない open(MD5FILE, "<$md5datefile"); my $md5line = <MD5FILE>; close(MD5FILE); ($FOX->{MD5DATE}, $FOX->{MD5NUMBER}) = split(/<>/, $md5line, 2); } if ($FOX->{MD5DATE} ne $GB->{MD5DATE}) { # 日付が変わったので作り直し my $data = ''; sysopen(RANDOM, '/dev/random', O_READ) || die "cannot open /dev/random $!\n"; sysread(RANDOM, $data, 16); close(RANDOM); open(MD5FILE, ">$md5datefile"); print MD5FILE "$GB->{MD5DATE}<>$data"; close(MD5FILE); chmod(0777, $md5datefile); $FOX->{MD5DATE} = $GB->{MD5DATE}; $FOX->{MD5NUMBER} = $data; } #my $idnum = md5_hex($ENV{'REMOTE_ADDR'}); my $idnum = md5_hex($GB->{IDNOTANE}); my $md5 = Digest::MD5->new; $md5->add(substr($idnum,-4)); $md5->add($GB->{FORM}->{"bbs"}); #$md5->add(substr($GB->{DATE},6,2)); $md5->add($FOX->{MD5NUMBER}); my $idcrypt = substr($md5->b64digest, 0, 8);
mod_md5fileなんてつくったらどうだろうかと言ってみるテスト
やぱ、プロセス最初の起動で
2つのデータを読み込む、あたりが一番楽だと思う。
と思ったら、
>>834 で十分だいじょぶっぽいか。
言い出しっぺの法則
ああ、なつかしのID生成ルーチン(^_^;) ID生成ルーチンのセオリーとしては 「ルーチンを公開しても、リモホやIPが推測できない」 です。
マァヴ ★(^_^;) キタキタキタキタ━━━(゚∀゚≡(゚∀゚≡゚∀゚)≡゚∀゚)━━━━!!!!!!!!!!
>>834 みたくして、
日付の変わる 24時のあたり大丈夫ですかねぇ
a) bbs.cgi は何十本も常駐している。
b) 寿命は現在10分である
というあたり、
841 :
鏝 :04/12/14 17:55:02 ID:kwpC6qYO
1)どこぞのexで実験する 2)じっけん じっけん 3)おやつは300円までですよ
>>840 投稿のたびに日付チェックするので大丈夫、なはず……。
んじゃ dsoで、そしてex9へ
うぅむ、、、/dev/randomからの採取は、crondで毎日00:00に採取して、ファイルにして保存。 bbs.cgiで、1回取得しておけばSpeedyに引っかかって、ごっつぅえぇ感じになるかと♪
ccqccc
dso に入れてみたぞ てすと てすとー あんま自信ないので一日放置してみる < dso
コードをさらしておこう
$FOX 初期化時 $FOX->{$GB->{FORM}->{'bbs'}}->{MD5NUMBER} = &foxInitMD5id($GB->{FORM}->{'bbs'},$GB->{MD5DATE}); $FOX->{MD5DATE} = $GB->{MD5DATE}; bbs.cgi が呼ばれるたびに、 $FOX->{$GBX->{FORM}->{'bbs'}}->{MD5NUMBER} = &foxCheckMD5id( $GBX->{FORM}->{'bbs'}, $GBX->{MD5DATE}, $FOX->{$GBX->{FORM}->{'bbs'}}->{MD5NUMBER}, $FOX->{MD5DATE}); ID 生成時 my $idcrypt = &foxGetMD5id( $GB->{FORM}->{'bbs'},#bbs $GB->{MD5DATE},#日付 $FOX->{$GB->{FORM}->{'bbs'}}->{MD5NUMBER},# $GB->{IDNOTANE}# );
sub foxCheckMD5id { my ($bbs,$md5date,$num,$dateFox) = @_; if($dateFox eq $md5date) { return $num; } return &foxCreateMD5id($bbs,$md5date); }
sub foxGetMD5id { my ($bbs,$md5date,$num,$tane) = @_; my $id = "FOX"; use Digest::MD5; use Digest::MD5 qw(md5_hex); my $idnum = md5_hex($tane); my $md5 = Digest::MD5->new; $md5->add(substr($idnum,-4)); $md5->add($bbs); $md5->add($num); $id = substr($md5->b64digest, 0, 8); return $id; }
sub foxInitMD5id { my ($bbs,$md5date) = @_; my $md5datefile = "../$bbs/md5.cgi"; if(open(MD5FILE, "<$md5datefile")) { my $md5line = <MD5FILE>; close(MD5FILE); my ($a, $b) = split(/<>/, $md5line, 2); return $b; } return &foxCreateMD5id($bbs,$md5date); }
sub foxCreateMD5id { my ($bbs,$md5date) = @_; my $md5datefile = "../$bbs/md5.cgi"; my $data = "ABCD"; sysopen(RANDOM, '/dev/random', O_READ) || die "cannot open /dev/random $!\n"; sysread(RANDOM, $data, 16); close(RANDOM); open(MD5FILE, ">$md5datefile"); print MD5FILE "$md5date<>$data"; close(MD5FILE); chmod(0777, $md5datefile); return$data; }
日付が変わったときに$FOX->{MD5DATE}を更新してないような気がする。
おおっ
>>848 のbbs.cgi が呼ばれるたびにの部分を変更
$FOX->{$GBX->{FORM}->{'bbs'}}->{MD5NUMBER} = &foxCheckMD5id(
$GBX->{FORM}->{'bbs'},
$GBX->{MD5DATE},
$FOX->{$GBX->{FORM}->{'bbs'}}->{MD5NUMBER},
$FOX->{MD5DATE});
$FOX->{MD5DATE} = $GBX->{MD5DATE};
あつっ これじゃまずいか。。。
ん?
そうでもないか?
なんか今日は調子悪いなぁ
こんな日は飲んだくれるに限るか、
>>855 になってます
おかしいとこ指摘よろしく〜
ex9 にいれてみるー 今晩、観察しててね
>>858 つ[ヘパリーゼ]
いってらっしゃ〜い。
日付が変わったら無条件でmd5.cgiを作り直すのは マズいような気がしてきた。
sub foxCheckMD5id { my ($bbs,$md5date,$num,$dateFox) = @_; if($dateFox eq $md5date) { return $num; } my $md5datefile = "../$bbs/md5.cgi"; if(open(MD5FILE, "<$md5datefile")) { my $md5line = <MD5FILE>; close(MD5FILE); my ($a, $b) = split(/<>/, $md5line, 2); if ($a eq $md5date) { return $b; } } return &foxCreateMD5id($bbs,$md5date); }
日付が変わってもIDが変わらないんですが仕様でしょうか
ex7も日付の変わり目にIDが2回変わりました
865 :
動け動けウゴウゴ2ちゃんねる :04/12/15 00:38:51 ID:gwIGlcO3
ex9の格闘技板ですが、日付変わってもID変わってません。
さて どこに隙があるんだ? ex7は旧来のままなんで「気のせい」ということで よろしく
867 :
動け動けウゴウゴ2ちゃんねる :04/12/15 10:29:18 ID:2HN9RP7L
>>866 どうせまたおまいがやったんだろ。
正直に言っちゃえよ、楽になるぞ。
かつどん、食うか?
869 :
鏝 :04/12/15 14:18:29 ID:JexvqC49
1)0時付近で変わっても気にしない 2)自作自演昨日として宣伝 3)Bananaはmaido3まで
旧式のID機能でも 23:59:59以前 -> 0:00:00ジャスト -> 0:00:01以降 で変化したことなら目撃したことあるよ
>>871 それは/dev/urandom から取ってきたのを保存するファイルにロックをかけてないからでしょ?
「IDは日付が変わるぐらいに変わります」でいいと思うけどな。
>874 あー間違えた。 date -v+1d "+%Y%M%d"のフォーマットで。という意味ね。 Perlで書き直す必要はあるけど。
自動生成するんなら、シェルスクリプトにしてcronすればいい
877 :
ひろゆき@どうやら管理人 ★ :04/12/16 01:29:06 ID:???
そりゃあてぇheada
>>887 更新してからのタイムラグがあるという事ではなくて
実際に全然反映されていないですか?
もしタイムラグ(最大10分の設定)だったら
我慢できませんかねぇ?
全く反映されていない場合はなおすですー
でも今みると反映されているような、
未来レスハケーン!!
あっちゃ
ドンマイ
887のレスに弊社の社運を感じる。
>850 my $idnum = md5_hex($tane); $md5->add(substr($idnum,-4)); substrの-4って何だろう IDの種類を制限するためのものだろうか
>>884 65536種類に限定しているので、ごく希に違うホストなのに同じIDが出てアタフターな事が起こっているようなのです。
886 :
:04/12/16 14:01:03 ID:jwRKr/sP
>885 もしIDが(1日,1板で)65536種類に限定されているとするならば、 2つの別々のホストから同じIDが出る確率は(1日あたり)次の通りとなる 住人数 確率 2: 0.0015% 50: 1.8523% 100: 7.2784% 150: 15.6881% 200: 26.2109% 250: 37.8447% 300: 49.6112% 400: 70.4809% 500: 85.1681% 1000: 99.9529% …………到底 'ごくまれ' とはいえないな 単に '気づかないことが多い' だけだったのか
ID 生成部変更するなら今がチャンス !! この機械を逃がすと・・・ 二度と変更されないかもだ
マッシーン
perl分からないよう。 この際IDの桁数を増やすとかどうでしょ。
s/a/あ/g; ごめんなさい冗談ですすいませんで
890=891?
IDをIPの上位から生成するのはどうだろう。 繋ぎ換えでは変え難くなるし、ご近所さんが判って楽しい。
>>ヤクザ いや、同じになったら意味ないでしょ。凄いことになっちゃうぞ。 IDは12桁ぐらいがいいかなぁ。長すぎてもあれだし。 あとついでだから日付だけじゃなくて年月も入れようぜ。
ちなみに 毎月同じ日にちの日は同じIDになるという噂があるど、 本当なの? そして、なぜそうなるの?
中の人がわからんでどうする(^^;
そういやなぜだろう……。 日替わり乱数が入ってるはずなのに。
固定IPだと毎月同日同板は同じIDになることあります。なんどか体験しました。
自分で書いたコードでさえ・・・なのに いわんや・・・おや
>>895 規制議論でYahooの人のIDが一ヶ月前と一緒だった記憶がある。
乱数の初期化が怪しいと思われ。 ちゃんとseed渡してるの? (渡してないと毎回同じ乱数しか出ないかも) と思ったら/dev/randomか・・・
固定IPで同じ板に毎日かいてて、IDにUDだしたことある人は、毎月1台UD用PC追加・・・? うそーんw
sub Make_ID($$$){ # 引数は・・・ # 板名 # time 値 # IPアドレス # 返り血はID文字列 use Digest::MD5; my ($BBS_name, $time, $IP_Address) = @_; my $ID_2ch = Digest::MD5->new(); $ID_2ch->add(qx|uname -v|); # 鯖固有の文字列とか。 $ID_2ch->add($BBS_name); # 板のディレクトリ名ね。 $ID_2ch->add(int($time/86400)); # 純粋に日を基準単位に。 $ID_2ch->add($IP_Address); # 丸ごと豆乳。 return substr($ID_2ch->b64digest,-9,8); # ちょんぎるして戻るり。 } ・/dev/random にアクセスしないのでHDDにも優しいかな? ・uname -v の値を知っている人は、★の中の人「だけ」だと思うし。 ・IDが被る確率は、遙かに少なくなっていると思うし。 ・なんてったってアイドルだし(はぁと)
>>904 それだとわからないのはuname -vだけ
(自分のIPやら日付やらpathやらはわかる)
だからIPからuname を総当りで求めて
検証が終わったらば他の人のIPも求まるだろう。
32ビット整数ぐらい割といける。
そのためのrandomですよ。
$time/86400 て必ず余らない時が00:00:00なの?
>>906 > だからIPからuname を総当りで求めて
総当たりって!?うちの林檎機でもこれだけの文字列が出てくるけれども、、、
Macintosh:~ root# uname -v
Darwin Kernel Version 7.6.0: Sun Oct 10 12:05:27 PDT 2004; root:xnu/xnu-517.9.4.obj~1/RELEASE_PPC
あんぽんたんにでもわかりやすい解説キボンヌですm(_ _)m
>>907 UTC だから、+ 9 * 3600 かもですm(_ _)m
uname -v だと公開してしまうと ある程度書式がありますよね。 FreeBSDなら FreeBSD 5.1-RELEASE-p8 #0: Sat Sep 27 11:17:53 GMT 2003 見たいな感じで 頭から言うと FreeBSDは変わらないし、 バージョンだって10.20とかないし、 RELEASEでないとしてもSTABLEとかあるていどきまってるし、 年月日では 月はAprとかDecとかしか入らないとか 曜日はSunとかMonだとか などと考えると組み合わせの数は現実的になりますよ。 そうするとOS頻繁に変えるとかいうんでなければ解析は可能でしょう。 んでunameが割れると今度はそっちにあててIP解析もできるんじゃないかなぁと。 っと長い割には判りにくいかもです。すいません。
>>909 そこは足したり引いたりすればいいのか。
>>908 rootの中の人がうっかりuname -aの結果を書いたら祭り始まりの合図。
まぁなんというか 静的な鍵の秘匿は難しいということで。
914 :
動け動けウゴウゴ2ちゃんねる :04/12/16 23:52:59 ID:JGTpjxlP
uname -aなんてホストごとの有効な違いが40bitぐらいしかないんじゃないの? 1024bitぐらい豪快にランダムのシードを用意しないとダメ。 パソコン数台で解析できる。
っていうか、何でそんな逃げ方するんだろう
そもそも現在のやり方が決まった経緯は知っておいてくださいー
おいらかな?(^_^;)もしかして
1 旧IDはIPアドレスの特定が結構できてしまった 2 そこで新しくID生成ルーチンを作ろうと思った 3 しかしおいらにはそのスキルはなかった(^_^;) 4 どうせならルーチンを公開しても耐えられるもののほうがいいわけで・・・ 5 スキルのある人よろしく・・・と公募した(ちょうどこのスレッドの展開みたいなもんですな(^_^;)) 6 で、32bit総当り検索に耐えるために @非公開の鍵を使うことで、推定を難しくした(しかし、これだけではちと不安) AIPアドレスが違っても、ある程度の数の同じIDが出るようにした(つまりIPアドレスは特定不能) って感じだったように覚えてます(^_^;) って、そういう話じゃなくて?(^_^;)
IP:IDを多対一対応にすることで一の側からの元IP特定を防いだんか
>921 そゆことです(^_^;)なのである程度の重複は避けられないんだな。
IDが同じになるのも別に悪いことじゃないと思います。
ある程度っつっても相当稀なわけだし、構わないでしょ。 要は毎回呼ばれるような無駄な負荷を無くすのが今回の目的?
>924 多分・・・ 1 ファイルオープンがもったいない(負荷軽減) 2 異月同日に同じIDが出てしまうらしいバグ対策 の2点かと(^_^;)
当時のおいらってなんか頭の回転よかったらしい(^_^;) 今や何を話しているのか理解できん
ひょっとして今起こっている「日付が変わってもIDが変わらない(ことがある)」ってのは 「異月同日に同じIDが出てしまうらしいバグ」の同工異曲かな? 今のIDルーチンには $md5->add(substr($DATE,6,2)); が入ってないから。
ってことはたぶんmd5.cgiに日付だけ入ってて乱数部分が空っぽだったりすることがあるんじゃなかろうか。
f1 , intro @ex9 を見てきたけど md5.cgi の中は 2004_12_04<>xxxxxxx になっているようです
>IPアドレスが違っても、ある程度の数の同じIDが出るようにした(つまりIPアドレスは特定不能) これって要するに ・まず自分のIPで書き込みをしてIDを出す ・出てきたIDと自分のIPでブルートフォース解析する ってのに対処するため? ブルートフォース耐性が最速のXeon Dual 1台で3年ぐらいの耐久度があれば多対1にする必要はないんじゃないかなぁ。 256bit AESあたりで落とし戸暗号化してしまえと。 IPアドレスは固定IPを持っている奴が解析するとして確定ずみ。 アルゴリズムも公知にしないと穴が怖い。 だから暗号鍵を256bitぐらいの大きさにしておけば良い、あらかじめ全部の暗号鍵をテーブル計算するのも難しいし。 なんだったら1024bit暗号にしておけば、世界中のHDDをあわせてもテーブル作れないし。
>>932 net@ex9 も
0004_12_16<>xxxxxxx の形になっているようです
>>933 〜〜をするためにってのも書いてもらえると
私にも理解できるかも知れません
>933 むずかしいことはよーわからんのだけど(^_^;)現在のIDは 1 秘密鍵はハッキング等によって取得される可能性がある 2 秘密鍵があれば、どのような経路をたどったとしても2^32の試行で結果が一致するIPアドレスをはじき出せる 3 IDの生成ルーチンは公開に耐えるものにする。 という前提で作られています。 結果 1 毎日変わる不定値の種を使う(最悪でも1日分の解析しかできない) 2 多対一に均等劣化した情報でIDを生成する(IPアドレスを特定できなくする) という2つの防御策を組み込んだわけです。 前提条件の1、3については当時IDからIPアドレスが推定可能であったという 2chとしては致命的な欠陥が露呈した反動で厳しく考えていたということもあるかもしれません。
>1 毎日変わる不定値の種を使う(最悪でも1日分の解析しかできない) えーと基本的には1は同意です。 2についてです。多対1をやめて暗号鍵のbit数を増やして1対1にすることで、 「別人なのに同ID」という不具合を回避できるのではないかと思っています。 >1 秘密鍵はハッキング等によって取得される可能性がある についてですが、/etc/sshd/sshd_*_keyと同じ程度の危険性しかないと思います。 仮にハッキングに成功したとしても、24時間で更新されてしまうのであれば IDからIPを現実的な速度で解析するチャンスはその日だけとも考えられますし。 (IP→IDへはSHAなりMD5なりのハッシュで一瞬のうちに計算できるが。 逆の方向はは2^32をすべて計算して一致するIDを求めるしかない。 そしてそのハッシュのシードは24時間で更新される)
それって不具合なの? むしろ匿名性の保障だと思うんだけど。
ひょっとしてバイナリデータを<>で読み込んでるせい?>異月同日に同じIDが出てしまうらしいバグ \nが混じってたらそこでちょん切れちゃうもんね。
>938 解析できないぐらい強ければ「別人なのに同ID」を回避して、かつ匿名性を保障できると思います。
ふむふむ。。。 今日は忘年会なのでその最中に練ってみよう。こねこね。
別な人なのに同じIDがあるほうが精神的に安心感があるんだけどな
>>940 「別人なのに同ID」を回避するってことは
IDによる発言者特定能力を向上させるってことで
つまりあなたは「匿名性を今より下げろ」と言ってるわけで。
自演がばれても強引に逃げ切れるからな
同一ID出たら 「同じIDキタ━━━━(゚∀゚)━━━━ッ!!」 でおkじゃないのか(´・ω・`)??
そのへんの話しは、、、
思想の問題ですからねぇ
別スレでじっくり話し合ってもらって
このスレでは実装の話しということで、
>>939 なのか?
ID生成サーバをつくってもいいかもしれないと言ってみるテスト
板ごとに何かわからない鍵の部分が必要って事でしょ? サーバー毎になると同じサーバー内の板を「神のIDキター」とか言いながら 走り回る奴が出ると。 サーバーが落ちた時にIDが変わってもいいのなら、 メモリの上に置くのが現実的かなぁ。
特に問題ないようなので これで fix と、 次回は何年後かな?
i/oについても今のままでいいの?
というと?
i/oが前よりも減ったのかなと
実装されたソースはこのスレに出ているだす。
単純にリーモトアドレスの一部分とサーバ名と年月日を種に crypt使ってIDを生成すればいいのではないかなとか これならi/oなしだし
>>904 のやつみたいなかんじかな。
上のほうで解析とか色々あったけど
重複いっぱいあるなら完全に解析はむりだから
良いんじゃないかという気もする。
もう終わったようなのでどうでもいいか。
>>955 たしかにそんな気もするが何かのネタにでもなればいいか
#!/usr/local/bin/perl
ID();
print "$ID\n";
exit;
sub ID
{
$server="operate";
$time= localtime(time);
$H="211.132.146.94";
@I= split(/\./,$H);
$host= substr($I[3],-2) . substr($I[2],-2) . substr($I[1],-2);
$tane= $host . $server;
$ID= substr(crypt(crypt(crypt($str,$time[5]),$time[4]),$time[3]),-8);
$ID=~ s/\./+/g;
return $ID;
}
うん・・・・確かにそんな気がしてきた(^_^;) ランダムな日替わりシードがない場合に問題になる点 ・逆算が可能・・・しかし多対一変換なのでIP特定不能 ・他の日のIDとの比較が可能・・・しかし多対一変換なので65535通りの結果が・・・・ あれ?(^_^;)65535個の解答パターンマッチングでIP同定は可能なのか・・・・(^_^;)おしい
>>936 > 1 秘密鍵はハッキング等によって取得される可能性がある
> 2 秘密鍵があれば、どのような経路をたどったとしても2^32の試行で結果が一致するIPアドレスをはじき出せる
ハッキングされれば、書き込みログ(規制議論板で行われてるログ開示のやつ)がとられちゃうんでは?
ハッキングされてもIDからIPアドレスをわからないようにしよう、というのは無駄なような気がします。
まちがえてるし・・ IPは下三つの2桁のみ使用なので逆算は無理のはず #!/usr/local/bin/perl ID(); print "$ID\n"; exit; sub ID { $server="operate"; $time= localtime(time); $H="211.132.146.94"; @I= split(/\./,$H); $host= substr($I[3],-2) . substr($I[2],-2) . substr($I[1],-2); $tane= $host . $server; $ID= substr(crypt(crypt(crypt($tane,$time[5]),$time[4]),$time[3]),-8); $ID=~ s/\./+/g; return $ID; }
>958 そなんだよね(^_^;) ただハッキング等の「等」の部分がちょっとだけ安心ってくらいで。
>961 localhostを見せられても・・・・(^_^;)
リンク先でIP抜かれるのは明らかに2ちゃんねるのせいじゃないな。 自分の無知を棚上げして2ちゃんねるのせいにしようとする人は後を経たないけど。
(私のいない)今夜中には次スレでつかね
>>961 w
>>961 漏れの鯖にはshouko.jpgなどない
ヲチ板(net@ex9)にて、「日付が変わってもIDが変わっていない」という現象が起きているようです。 「日付が変わった直後の数分・数十分単位での遅れ」ではないようですが・・・ ひょっとして、「日替わりの種」が変わってないのかな?
>>966 サカ板もです。
ex9はみんな変わらなくなってしまっているみたいですね。
foxInitMD5idにdateのチェックが入っていない気がする。
私が確認したスレでは、朝の10時半頃になっても「前日と同じID」で発言してる人がいました。 何なんでしょうね・・・
あ、ちなみに今はもう変わっているようです。 連投スマソ。
サッカー日本代表板は24時間たってもまだID変わりません…
ex9 ヲチ板ですが、なんか12:00ぐらいにIDが変化している感じです。 00:00にIDが変化するよりこの方が面白かったりして。 日付の変化でIDが変わると思い込んでいた、光臨電波さんが 自爆してくれましたから。
bbs.cgi(Speedy版) を地震板に入れないの?
自分が電波になったときのことを考えてもみろよ!!!
ふむ
>>974 どのスレですかい?
というか初めてヲチ板行ったけどえらく酷い板やね
つなぎかえれば変わるよね
981 :
動け動けウゴウゴ2ちゃんねる :04/12/20 00:58:18 ID:0ryuxRoT
まずPerl使ってる時点でアレだと思うが…。 PHPとかJSPにしとけよ
>>852 下から2行目;
rerurn と $data の間にスペースがないけど問題ないですか?
>>982 それは投稿したときになっているだけのような、
こうすればいいのかな? sub foxInitMD5id { my ($bbs,$md5date) = @_; my $md5datefile = "../$bbs/md5.cgi"; if(open(MD5FILE, "<$md5datefile")) { my $md5line = <MD5FILE>; close(MD5FILE); my ($a, $b) = split(/<>/, $md5line, 2); if($a eq $md5date){return $b;} } return &foxCreateMD5id($bbs,$md5date); }
ccc
>>983 そうですか・・・。
$GBX->{MD5DATE}はいつ更新されるんですか?bbs.cgiが呼ばれる度?
Tiger全部 news18/19 live16 hobby7 life7 game9/10 ex7 Cobra全部 live8 Banana一台 ex9 のbbs.cgi を -M64 で統一した。
>>987 了解です。
ちとしんどくなってきたんで、
# ひととおりoperateのスレ巡回したら、今日は負け組みへと。
>>981 処理時間
PHP>Perl>>>>>>>>>>JSP
しかし中の人はJSP(J2EE)書けないらしい・・・
わたし JSP 聞いたことも無い PHP 名前は知っているけど、一度も書いたことが無い Perl 書いたことはあるが、文法すら知らない、 な状態です
992 :
動け動けウゴウゴ2ちゃんねる :04/12/20 05:28:25 ID:17NZO5ne
>>991 じゃ俺は無敵だな
今からスタイルノートでHTMLから勉強してくるよ
SpeedyCGI での Signal の受け取り方どうやるか知ってる?
ちなみに Amazon.com は上の製品でできてます。(Amazon.co.jpは違う)
社員乙(お約束)
ってかFOX さんは、少なくとも20個くらいは 言語知ってる結構凄腕のプログラマだと思ってた ちゃうのん?
JSPなんてみんなしょうがなくて使ってると思ってたのに、信者がいるとは・・・ 俺的には、Velocity+Turbineだな
999 :
動け動けウゴウゴ2ちゃんねる :04/12/20 07:26:57 ID:W3HLUHRQ
JSP+Struts 派
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。