【スレッド】2ch型掲示板 その7【フロート型】
my ($md5datefile, $date, $idnum, $random, $idcrypt);
$md5datefile = './md5.cgi';
$date = substr($DATE, 0, 8);
$idnum = substr($ENV{'REMOTE_ADDR'}, -6) . $FORM{'bbs'} . $date;
#$idnum =~ tr/a-zA-Z0-9_//cd;
if ( open(MD5FILE, '<'.$md5datefile) ) {
my ($md5date, $md5number) = split(/<>/, <MD5FILE>);
close(MD5FILE);
$random = $md5number if ($md5date eq $date);
}
unless ($random) {
my $data = '';
sysopen(RANDOM, '/dev/urandom', 'O_READ') or &DispError('/dev/urandom が開けない!');
sysread(RANDOM, $data, 8);
close(RANDOM);
open(MD5FILE, '>'.$md5datefile);
flock(MD5FILE, 2);
print MD5FILE "$date<>$data";
close(MD5FILE);
$random = $data;
}
chmod(0666, $md5datefile);
$idcrypt = substr(crypt($idnum, '$1$' . $random), -8);
$ID = " ID:$idcrypt";