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:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。