自分も同じような投稿被害があり悩んでおりました。
色々と対策した中で自分では一番有効だったのが投稿時に特定のコードを入力する方法です。
423行目辺り
<tr>
<th bgcolor=#ff9966>パスワード</th>
<td><input type=password name="PASSWD" value="$COOKIE{'PASSWD'}" size=10> <font size=-1>←あなたが投稿しようとしているこの記事を削除するためのパスワードです</font></td>
</tr>
→ <tr>
→ <th bgcolor=#ff9966>認 証</th>
→ <td><input type=ninsyou name="NINSYOU" value="$COOKIE{'NINSYOU'}" size=10> <font size=-1>「9999」と入力してください</font></td>
→ </tr>
<tr>
<td bgcolor=#ff5555 align=center colspan=2><font size=-1 color=#ffffff><input type=checkbox name="cookie" value="1" checked>設定保存</font> <input type=submit value=" ○ 投稿 "> <input type=reset value=" × リセット " onClick="message(); return f"></td>
</tr>
633行目辺り
if ($in{'TITLE'} eq '') { &Error("未記入があります","タイトルを入力してください."); }
if ($in{'VALUE'} eq '') { &Error("未記入があります","本文を入力してください."); }
if ($in{'PASSWD'} eq '' || $in{'PASSWD'} =~ /\W/ || length($in{'PASSWD'}) < 6) { &Error("未記入があります","6文字以上のパスワードを半角英数字で入力してください.","あなたが今投稿しようとしているこの記事を削除するためのパスワードです."); }
→ if ($in{'NINSYOU'} ne '9999') { &Error("エラー","エラー"); }
矢印「→」の行を追加するとパスワード欄の下に「認証欄」ができます。
そこに特定のコード(今の場合は'9999')を入力しないとエラーになる仕組みです。
'9999'は英字でも大丈夫かと思いますし質問形式でも良いと思います。
例として「'時計'をローマ字で入力してください」→「TOKEI」とか。
このやり方で日に20〜30くらい来ていたスパムが全くなくなりました。
ちなみに当方はCGI知識に関しては少し流用できる程度なので
効果はあっても、このやり方で正しいのかはわかりません。
あくまでも自己責任でお願いします。