日誌の検索 [タグ:Perl] 1~2(2件中)

2010年04月04日(日)

らくだ

システムの出力コードを HTML5 にした。ただし、 input type="date" 系を使いたいためなので、現状は Opera のみ。本当は XHTML5 にしたかったんだけど、文字実体参照が使えないために断念した。 xml にしないと正しいコードを出力してるかどうか判定しにくいので不便だなあ。

英文スパム対抗策

らくだ

Kent 系 BBS スクリプトの改造

私は kent 系のスクリプトは使ったことがありませんが、お世話になっている某所の掲示板がかなりしつこいスパムにあって困っていたようなので、ここに対抗策を書いてしまうま。

改造していない Joyful Note を利用している前提で、出来るだけ perl を知らない人にも分かるように説明します。

書き込みに日本語の文字を含まない、英数字だけの書き込みをエラーにする改造です。このため、悪意無い英数字だけの書き込みも遮断してしまいます。

  1. 使用中のメインスクリプトファイル(素のままだと joyful.cgi)を FFFTP などの FTP ソフトでローカルにアスキー形式でダウンロードする。(既にコピーがローカルにある場合は不要。)
  2. ダウンロードしたファイルをメモ帳などのエディタ(出来れば行番号が表示できるもの)で開く。
  3. 「sub form_check」と言う文字を検索してそのあたりを表示する。素のままのスクリプトだと 1387-1410 行。
  4. そのブロックの「# 入力項目のチェック」と書いてある次の行に、次の1行を追加(コピー&ペースト)する。
    if ($in{'comment'} !~ m/[\x80-\x9f\xe0-\xfc]/) { &error("日本語が含まれていません"); }
    
  5. 上書き保存したファイルを、 FTP ソフトでアスキー形式でアップロードする。

実際に運営して試したわけではありませんので、何か不具合があるかも知れませんのであしからず(瀑。

例の改造版や、 joyful note 以外の kent 系スクリプトでも、行番号は異なりますが、同様の方法で対抗できると思います。

日記検索フォーム
日付
Usertime : 0.14 / Systemtime : 0.01