・yybbsスキン対応版での修正 ・sk_di01.htmlの修正 140行目あたり −−−−−−−−−−−−−−− Password (英数字8文字以内) −−−−−−−−−−−−−−− の下に以下の文を追加 −−−−−−−−−−−−−−− 必須入力 get_mondai_html −−−−−−−−−−−−−−− ・yybbsnkd.cgiの修正 450行目あたり −−−−−−−−−−−−−−− foreach (0 .. $#COLORS) { if ($c_color eq "$COLORS[$_]") { print ""; print "\n"; } else { print ""; print "\n"; } } −−−−−−−−−−−−−−− の下に以下の文を追加 −−−−−−−−−−−−−−− print '必須入力'.&get_mondai_html; −−−−−−−−−−−−−−− 620行目あたり −−−−−−−−−−−−−−− # 連続投稿チェック if ($addr eq $ip && $wait > $times - $time2) { &error("連続投稿はもうしばらく時間をおいて下さい"); } −−−−−−−−−−−−−−− の下に以下の文を追加 −−−−−−−−−−−−−−− # 計算チェック $err = &kotae_awase($in{'tk_mondai'},$in{'tk_kotae'}); if ($err ne ''){ &error($err);} −−−−−−−−−−−−−−− 850行目あたり −−−−−−−−−−−−−−− foreach (0 .. $#COLORS) { if ($c_color eq "$COLORS[$_]") { print ""; print "\n"; } else { print ""; print "\n"; } } −−−−−−−−−−−−−−− の下に以下の文を追加 −−−−−−−−−−−−−−− print '必須入力'.&get_mondai_html; −−−−−−−−−−−−−−− 2100行目あたり −−−−−−−−−−−−−−− $skin_html =~ s/_method_/$method/g; −−−−−−−−−−−−−−− の下に以下の文を追加 −−−−−−−−−−−−−−− $i = &get_mondai_html; $skin_html =~ s/get_mondai_html/$i/g; −−−−−−−−−−−−−−− 末尾に以下の文を追加 sub get_mondai_html{ local(@bignum,$siki); @bignum = ('0','1','2','3','4','5','6','7','8','9'); $siki = @bignum[int(rand(10))].'+'.@bignum[int(rand(10))].'='; return ("$siki(".'半角数字で回答)'); } #usage kotae_awase($tk_mondai,$tk_kotae):(result = error message,eq '' = 0k) sub kotae_awase{ local($kekka,%smallnum,$tmp); %smallnum = ('0','0','1','1','2','2','3','3','4','4','5','5','6','6','7','7','8','8','9','9','+','+','=',''); if (($_[1] =~/\D/) || ($_[1] eq '')) {return '半角数字で答えてください';} $kekka=''; if (length($_[0]) != 8){return '情報が不正です';} $tmp=$smallnum{substr($_[0],0,2)}; if ($tmp eq '') {return '情報が不正です';} $kekka= $tmp; $tmp=$smallnum{substr($_[0],4,2)}; if ($tmp eq '') {return '情報が不正です';} $kekka+= $tmp; if ($_[1] != $kekka){return '答えが間違っています';} return (''); }