X

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

■ このスレッドは過去ログ倉庫に格納されています
1桃太郎 ★
垢版 |
04/12/02 19:52:43ID:???
peko鯖の稼動によりボトルネックの一つである事がより明らかになった
bbs.cgi作り直しプロジェクトです。

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

関連は>>2-
04/12/06 16:49:51ID:9Ts+cvKS
ex7は実験で別のCGI(SpeedyCGI)入れてますからダメかと
あとはdsoとbeかな?(隠しだけど

755FOX ★
垢版 |
04/12/06 16:53:06ID:???
よいはず
04/12/06 16:57:06ID:???
了解す
04/12/06 17:12:51ID:FZMuyZIb
>>746-749
すぐ前のレスぐらい見れ。

>>745
04/12/06 22:04:50ID:Rejub5qR
何時の間にかスレが伸びているなーと思ったらbbs.cgi大分改造しているのね。
がんがれ〜
04/12/06 22:22:03ID:hiYCS8Cj
ただいま 395.33post/min LA 12.22 @ex7
スマスマにWU出演中のせい?
04/12/06 22:23:25ID:GAb8hMjC
だろうね
実況スレ立ちまくってるし
04/12/06 22:33:32ID:1PsjWKDp
辻加護キス総合スレ
http://ex7.2ch.net/test/read.cgi/morningcoffee/1102339617/

ま、こんな感じなので
04/12/06 22:37:54ID:hiYCS8Cj
瞬間どれくらいいったすかねぇ。
負荷試験中なんでむしろもっとどんどんやれーな感じだったかも。
04/12/07 01:38:06ID:CbM6EMw0
ただいま 383.93post/min LA 9.48 @ex7
鯖復帰後の一時的な集中なのかネコミミなのか・・・。
04/12/07 01:53:16ID:3jrF2WGE
500まで耐えられるもの、だよね…
04/12/07 01:59:00ID:CbM6EMw0
http://qb5.2ch.net/test/read.cgi/operate/1102087698/221

221 :root▲ ★ :04/12/07 01:03:53 ID:???
ex7 上がりました。
bbs.cgi を live17 と同じものにしました。

復帰依頼かけてきます。


とかあるので若干バージョンダウンしたのかも。
このバージョンではどこまでいけるんでしょうね。
04/12/07 03:06:23ID:CbM6EMw0
ただいま 205.39post/min LA 22.61 @ex7
LA高いですね・・・。
767root▲ ★
垢版 |
04/12/07 03:16:10ID:???
>>766
ちょっと狼で書き込みテストしてみたけど、
書き込みは重くないみたい。
768root▲ ★
垢版 |
04/12/07 03:25:37ID:???
見てると、どーもスレ立て爆撃みたいっすね。< ex7
不自然に負荷が上がることがあります。

サーバが落ちることはなさそうなんで、
わたし的にはどうすることも(りゃ。

ぼちぼちおふろ入って、ねるかな。
04/12/07 03:29:27ID:CbM6EMw0
>>767
おお、今日はいろいろと大変乙でした。
(3時前のLAのヤマは何だったんでしょうね?)
04/12/07 03:30:24ID:3jrF2WGE
rootたんお疲れさまですー。おやすみ

そいえば…スレたて放題?はこれ直してないまんま?
04/12/07 03:30:29ID:CbM6EMw0
なるほどー。スレ立て爆撃ですか。
ゆっくりお休みくださいまし。
04/12/07 03:31:00ID:5HqISiJY
FOXがbbs.cgi直さないとどうにもならん罠
04/12/07 10:21:28ID:NwR44+on
tatesugi規制がex7で効いてないんだけど
774動け動けウゴウゴ2ちゃんねる
垢版 |
04/12/07 12:06:58ID:bRpOKfJi
FOX★様

ex7 の bbs.cgi で書き込み時に 500 Internal Server Error が出る時があります。
●を一度ログアウトして、再度ログインしてから書き込むと直ります。
ということは、おそらく、書き込み時の「再度ログインしてね」のパターンの時に
500 になるのだと思います。
お時間がありましたら調査よろしくお願いします。

以上
04/12/07 13:04:10ID:MBZ525QB
>>739
わらたw
776ひろゆき@どうやら管理人 ★
垢版 |
04/12/08 00:05:06ID:???
DBD::DBIって入ってるんでしたっけ?>だいたのサーバ
04/12/08 00:09:13ID:r91lOVFY
ひかる。ひかる。
04/12/08 00:14:59ID:RJR+xQxy
>>776
DBI::DBD なら入っているかもです(苦笑)

無ければ、
$perl -MCPAN -e shell
して、
>install DBI::DBD
してみよう!
779root▲ ★
垢版 |
04/12/08 00:21:13ID:???
>>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には入ってませんが、
寝るまでに、入れておきましょ。
780root▲ ★
垢版 |
04/12/08 00:39:24ID:???
掲示板tiger/cobraに>>779を入れた。
781root▲ ★
垢版 |
04/12/08 00:41:41ID:???
rootありサーバの標準キットに入れることにしたんで、
5.3Rなサーバには、今度全部 >>780 は入るです。
782ひろゆき@どうやら管理人 ★
垢版 |
04/12/08 03:40:45ID:???
わーい。ありがとうございますー。
DBI::DBDだったか、、
04/12/08 04:58:16ID:9KJTysI8
「どうやら」がこれほど似合う管理人はいない。
04/12/08 05:54:49ID:5CZLuXdz
まったくだ。
785FOX ★
垢版 |
04/12/08 07:30:10ID:???
>>772
何か直すとこありましたっけ?

>>774
修正してみたー
でもテストはしていない。
04/12/08 07:31:32ID:B4x378t7
一昨日から無効になってたex7のtatesugi規制はもう効いてるの?
787FOX ★
垢版 |
04/12/08 07:31:52ID:???
効いていないの?
04/12/08 07:32:54ID:B4x378t7
なんか効いてなくて乱立してたらしーよー
789FOX ★
垢版 |
04/12/08 07:34:29ID:???
そうなんだ、
ジンギスカンだからとか、
04/12/08 07:35:25ID:B4x378t7
>>733-
になんとなく書いてあるかも
791FOX ★
垢版 |
04/12/08 07:42:29ID:???
特に問題は出ていないようなので、
Tiger全部に入れてみよう bbs.cgi(Speedy版)
792FOX ★
垢版 |
04/12/08 07:49:15ID:???
Tiger/Cobra は全部 bbs.cgi(Speedy版) になりました

live 8/16/17
news 18/19
game 9/10
hobby 7
ex 7
04/12/08 07:55:14ID:B4x378t7
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) 
794FOX ★
垢版 |
04/12/08 07:57:45ID:???
当たりということで、
04/12/08 07:59:08ID:PFZjuYTD
>>793
それ、ex7では数日前から出てた
Sambaにかかったときとか
796動け動けウゴウゴ2ちゃんねる
垢版 |
04/12/08 11:17:28ID:jTKsiamC
>>791
問題でまくりですが。。

ex7の板が1000スレを超える乱立で、既存スレが一掃されてます。。
そのままばら撒いたら、危険極まりないかと。
04/12/08 11:29:46ID:PFZjuYTD
>>796
そんな乱立するような馬鹿はVIPや大学生活や野球や狼などの一部の板にしかいません
04/12/08 11:36:59ID:14O5Dnd6
>>797
それらの住人が他板へ侵攻しないとでもお思いで?
04/12/08 12:08:41ID:B4x378t7
もう直ってるし
800動け動けウゴウゴ2ちゃんねる
垢版 |
04/12/08 12:09:41ID:AZJ+q9H2
スレ乱立は止まってるはずだよ
04/12/08 12:30:07ID:14O5Dnd6
ソース下さい
04/12/08 12:33:10ID:3XgMUeiY
ソースも何も自分で試して見れば?
04/12/08 12:38:55ID:PFZjuYTD
今朝の時点でtatesugiは効いてたよ
04/12/08 13:27:36ID:4QK9QQ+X
つまりex7はtatesugiが効いていようが効いてまいがどちらか分からないぐらい糞スレばっかり立ってるって事だ。
805FOX ★
垢版 |
04/12/08 13:43:46ID:???
つうことだ

気にスンナ、すんな
04/12/08 13:48:47ID:r91lOVFY
>>804-805 >>768
04/12/08 13:53:10ID:PFZjuYTD
tatesugiきいてない

VIPER狂喜乱舞してスレ立て祭り

ex7のほかの板にも立て始める

FOX ★が気付くけど何もしない

その板の住人がtatesugi効いてないことに気付く

その板の住人がスレ立て爆撃を始める

tatesugi直る

糞スレだらけの惨状(VIP以外)
04/12/08 13:53:40ID:rdEQXxJD
>>806みたいな人を見ると、
日本人は世界的に見ても、読解力が劣っているという事実を実感する。
04/12/08 13:55:35ID:r91lOVFY
関連エントリー

日本学生の読解力低下が問題ではなく文化差異が問題だ
http://finalvent.cocolog-nifty.com/fareastblog/2004/12/post_4.html
04/12/08 13:56:42ID:3XgMUeiY
雑談スレではありませんよっと
04/12/08 16:50:39ID:HujUSjWp
>>810
>>810
812FOX ★
垢版 |
04/12/13 03:31:00ID:???
>>684bあたりの続きなんですが
また壁にぶつかった。。。

813FOX ★
垢版 |
04/12/13 03:33:25ID:???
if(open(AAA,"aaa.txt"))
{
my @ppp = <AAA>;
close(AAA);
$FOX->{XXX} = @ppp;
}

なんてことをやりたいのに、、、
$FOX->{XXX}を、あとで見てみると要素数(行数)が入っている
配列を代入するにはどうしたらいいの?
04/12/13 04:05:20ID:32ZR8wok
こんな感じでうまくいたーよ

if(open(AAA,"aaa.txt"))
{
my @ppp = <AAA>;
close(AAA);
$FOX->{XXX} = \@ppp;
}

で、あとで
@{$FOX->{XXX}}
って感じで読み出す感じで。
815動け動けウゴウゴ2ちゃんねる
垢版 |
04/12/13 04:09:34ID:LPQQCynf
>>748
ホットゾヌは1も2も飼い主が非公式板で悲鳴を上げております。
816FOX ★
垢版 |
04/12/13 04:51:53ID:???
おぅおぅ
やってみるです >>814
817root▲ ★
垢版 |
04/12/13 12:20:48ID:???
BBQ/BBX/BBY/BBS/BBM系をちょっとしたことで軽くできそう。
qb6で試してうまくいったみたいなので、飯の後にでもここに。
818root▲ ★
垢版 |
04/12/13 13:28:15ID:???
全サーバに配布した。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の場合、呼び出しコストが半分になるはず。
819root▲ ★
垢版 |
04/12/13 13:30:11ID:???
>>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さん
820FOX ★
垢版 |
04/12/13 14:12:14ID:???
おっ
やるやる
821root▲ ★
垢版 |
04/12/13 14:13:29ID:???
>>820
おまけとして、maido3.com の DNSコンテンツサーバも軽くなるですね。
もうわかっておられると思いますが。
822FOX ★
垢版 |
04/12/13 14:15:47ID:???
live16 でやってみた、
823root▲ ★
垢版 |
04/12/13 14:18:18ID:???
で、これおながいします。BBMサーバの変更。

http://qb5.2ch.net/test/read.cgi/operate/1102087698/329
824root▲ ★
垢版 |
04/12/13 14:18:49ID:???
>>822
予期した動作をしているか、DNSログ確認してみます。
825root▲ ★
垢版 |
04/12/13 14:27:19ID:???
大丈夫の模様です。

(使用前、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
826FOX ★
垢版 |
04/12/13 14:29:35ID:???
んじゃ 順次、順二、淳二
04/12/13 14:35:22ID:YQ7EKe0/
稲川淳二
04/12/13 15:17:41ID:5KOKcOiZ
高田(ry
829FOX ★
垢版 |
04/12/13 15:35:49ID:???
>>814
やってみたけど、 $FOX(SpeedyCGI においてグローバル) では
うまく行かなかったです。

どうしてかなぁ
04/12/13 17:30:20ID:DB7UVgUV
これでどうかしらん。

if (open(AAA, "aaa.txt")) {
@{$FOX->{XXX}} = <AAA>;
close(AAA);
}

でもグローバルなら安直に

@FOX_XXX = <AAA>

でいいような気がする。
831FOX ★
垢版 |
04/12/13 18:45:21ID:???
>>830
たしかに、、、

ただ、将来の変更への耐性が落ちるか、
それはその時にその担当者に頑張ってもらおう。
832FOX ★
垢版 |
04/12/14 14:34:57ID:???
file i/o を減らすのだ 第八弾(ID生成ルーチン)

1) 毎回 HDD にアクセスしているのを何とかしたい、
2) 毎月同じIDになるのを何とかする?
3) あとなんかあったっけ?

今 コード出します。
833FOX ★
垢版 |
04/12/14 14:36:21ID:???
{

#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);
04/12/14 16:37:18ID:dKRMgTcD
こんな感じ?

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);
04/12/14 17:08:51ID:krSF+CYt
mod_md5fileなんてつくったらどうだろうかと言ってみるテスト
04/12/14 17:22:01ID:VWWSBm/+
やぱ、プロセス最初の起動で
2つのデータを読み込む、あたりが一番楽だと思う。

と思ったら、>>834で十分だいじょぶっぽいか。
04/12/14 17:22:56ID:yW1G096m
言い出しっぺの法則
04/12/14 17:27:14ID:???
ああ、なつかしのID生成ルーチン(^_^;)
ID生成ルーチンのセオリーとしては
「ルーチンを公開しても、リモホやIPが推測できない」
です。
04/12/14 17:43:03ID:HEqRaqNj
マァヴ ★(^_^;)
キタキタキタキタ━━━(゚∀゚≡(゚∀゚≡゚∀゚)≡゚∀゚)━━━━!!!!!!!!!!
840FOX ★
垢版 |
04/12/14 17:48:04ID:???
>>834 みたくして、

日付の変わる 24時のあたり大丈夫ですかねぇ

a) bbs.cgi は何十本も常駐している。
b) 寿命は現在10分である

というあたり、
841
垢版 |
04/12/14 17:55:02ID:kwpC6qYO

 1)どこぞのexで実験する
 2)じっけん じっけん
 3)おやつは300円までですよ
04/12/14 17:58:21ID:dKRMgTcD
>>840
投稿のたびに日付チェックするので大丈夫、なはず……。
843FOX ★
垢版 |
04/12/14 17:59:13ID:???
んじゃ dsoで、そしてex9へ
04/12/14 18:27:42ID:mhtbHAbI
うぅむ、、、/dev/randomからの採取は、crondで毎日00:00に採取して、ファイルにして保存。
bbs.cgiで、1回取得しておけばSpeedyに引っかかって、ごっつぅえぇ感じになるかと♪
845FOX ★
垢版 |
04/12/14 18:53:07ID:???
ccqccc
846FOX ★
垢版 |
04/12/14 19:12:17ID:???
dso に入れてみたぞ

てすと てすとー

あんま自信ないので一日放置してみる < dso
847FOX ★
垢版 |
04/12/14 19:15:35ID:???
コードをさらしておこう
848FOX ★
垢版 |
04/12/14 19:18:22ID:???
$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}#
);


849FOX ★
垢版 |
04/12/14 19:19:05ID:???
sub foxCheckMD5id
{
my ($bbs,$md5date,$num,$dateFox) = @_;
if($dateFox eq $md5date)
{
return $num;
}
return &foxCreateMD5id($bbs,$md5date);
}
850FOX ★
垢版 |
04/12/14 19:19:15ID:???
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;
}
851FOX ★
垢版 |
04/12/14 19:19:24ID:???
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);
}
852FOX ★
垢版 |
04/12/14 19:19:36ID:???
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;
}
04/12/14 19:29:10ID:dKRMgTcD
日付が変わったときに$FOX->{MD5DATE}を更新してないような気がする。
854FOX ★
垢版 |
04/12/14 19:32:22ID:???
おおっ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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