diff -arcN kuttukibbs-1.0rc2/kuttukibbs.cgi kuttukibbs-1.0rc2-hashcash/kuttukibbs.cgi *** kuttukibbs-1.0rc2/kuttukibbs.cgi Mon Apr 12 21:29:09 2004 --- kuttukibbs-1.0rc2-hashcash/kuttukibbs.cgi Fri Mar 4 12:33:09 2005 *************** *** 4,9 **** --- 4,10 ---- ### 編集して下さい my $conf_file = "/home/yto/kuttukibbs.conf"; # ユーザ設定ファイルの場所 + my $hashcash_db_file = "/home/yto/hashcash.db"; # hashcash データベースファイルの場所 ### ユーザ設定項目 (kuttukibbs.conf で設定できます) my $log_dir = "kblog"; # コメントログファイルを置くディレクトリ *************** *** 129,134 **** --- 130,136 ---- $com_hash{$latest_id}{m} = $body; $com_hash{$latest_id}{d} = $what_time_is_it_now; + hashcash_auth(); # hashcash による認証 write_to_logfile(); # ログファイルへの書き込み write_to_jsfile($fn_pref.".js"); # JavaScript Feed ファイルへの書き込み write_to_adminlogfile(); # 管理者用ログファイルへの書き込み *************** *** 323,325 **** --- 325,355 ---- print $page_html; exit; } + + sub hashcash_auth { + use Digest::Hashcash; + + my $hashcash_token = $q->param('hashcash'); + + $hashcash_token =~ s/\n//g; + + open(HCDB, "$hashcash_db_file") or die "can't open $hashcash_db_file : $!"; + + while () { + chop; + if ($_ eq $hashcash_token) { + die "used token(hashcash): " . $hashcash_token; + } + } + close HCDB; + my $c = new Digest::Hashcash + hsize => 10, + uid => "kuttukibbs"; + + $c->verify($hashcash_token, size => 10) or die "invalid token(hashcash):" . $hashcash_token; + + open(HCDB, ">> $hashcash_db_file") or die "can't open $hashcash_db_file : $!"; + print HCDB $hashcash_token . "\n"; + close HCDB; + } + diff -arcN kuttukibbs-1.0rc2/kuttukibbs.conf kuttukibbs-1.0rc2-hashcash/kuttukibbs.conf *** kuttukibbs-1.0rc2/kuttukibbs.conf Thu Apr 8 22:27:02 2004 --- kuttukibbs-1.0rc2-hashcash/kuttukibbs.conf Fri Mar 4 12:17:20 2005 *************** *** 42,47 **** --- 42,50 ---- Kuttuki BBS + + +

Index / Reload / Edit

*************** *** 58,64 ****
なお、管理者の判断により予告なくコメントを削除することがあります。 ご了承下さい。 !
--- 61,67 ----
なお、管理者の判断により予告なくコメントを削除することがあります。 ご了承下さい。 ! hashcash を入力しなければ投稿できません。「hashcash token を計算」ボタンを押すか、hashcash 公式ページのツールを使って hashcash を計算し、フォームへ入力してください(hashcash -mb10 -x kuttukibbs-$logid)。
*************** *** 68,73 **** --- 71,78 ----
E-mail or URL:
+ hashcash token: +
コメント: