トップページ | 利用規定
  ブログ・ブロキュー(bloq)

カレッヂ
カレッヂ



ブログを実現

動作サンプル 兼 開発ブログ

2007/1/28 トラックバック・スパムの緊急回避的対処方法

◇ ブログが流行り始めてから、ホームページ代わりにブログを持つ方が非常に増えました。 これまでのように、HTMLエディタ等でファイルを作成してサーバにアップロードして…なんて作業は不要だし、 ブラウザ上で全てのことが出来ますからね。

◇ ブログソフトってフリーソフトで配布無いかな?と探してみたんですが、日本国内で見つからなかったので(外国語は苦手です…汗)、 RSSやトラックバックの仕組み等を今になって勉強し、楽しんで設計してみました。

◇ 画面デザインのテンプレートやソフトの設置や設定は必要ですが、設置後は掲示板のようにウェブページ上で書いたり消したりでき、 体裁も一般的なブログのようにしてみましたので、有料・無料(広告入)のブログをどこかで借りることなく使えるよう、是非ご活用ください。

◇ 画面デザインのテンプレート (base.cgi) を自分で書いた方で、みんなに紹介したいっていう方はここで公開可能です。 お名前(ニックネーム可)、ブログのURLなどを書いてそのファイル(画像付きならそれも)を送っていただければ、ここで紹介させていただきます。

RSSトラックバック機能ももちろんあります。

◇ コメントやトラックバックがあったらメールする機能(v1.10〜)。

◇ 任意の日付時間を指定して投稿する機能(v1.20〜)。

◇ コメントをコメントした人が削除できる機能(v1.50〜)。管理人がログインしなくても、管理パスワードを入力することにより、任意のコメントを削除できるようになりました。

◇ アクセス解析機能(v2.10〜)。

◇ ロボットが自動コメント投稿するのを防止するために、簡単な足し算をしてもらうヒューマンチェック機能(v2.20〜)。

◇ 携帯から読める機能と、携帯URLをQRコード(※)で表示する機能(v2.30〜)。

◇ 一括に記事の削除が出来るメンテナンスモード機能(v2.40〜)。


今後予定している仕様

今後、以下の機能が使えるように開発していきたいと思います。 あくまでも予定なので、確約するものではありません。ご了承ください。

◇ コメントするのにログインが必要な機能。
◇ 複数のライターが設定できる機能。
◇ カテゴリ分け機能。

 などなど…

(※) QRコードは(株)デンソーウェーブの登録商標です。


ダウンロード

- Perl5.6以上の環境でご利用ください。
- ダウンロード (bloq_2.71.zip) (伸張&展開の仕方)

- 添付されている README.TXT をご覧ください。特に、v1.**から移行する場合の方法と注意点が書かれていますので、必ずお読みください。

- CGIとHTMLを別の場所に配置するサーバの場合、設置できない場合があります。

- 設置済み状態のバージョンアップは原則的に、README.TXT の履歴に書かれている「修正があるファイル」のみを入れ換えることで可能です。

- このシステムはフリーソフトですが、利用規定に従ってご利用ください。



解説(設置に必要な環境など)

技術資料(v2.**〜)に誤りがありましたので訂正です。申し訳ありません。

誤)DefaultIndex blog.cgi(改行)
正)DirectoryIndex blog.cgi(改行)

設置&取扱説明書

JcodeモジュールNet::Trackbackモジュール が必要です。これらがインストールされているサーバ環境が必要です。 ネットで検索すると、サーバに正規インストールしないで単独各自利用する方法も紹介されていますが、 きちんとインストールした方が低負荷で安全です。用意されていないプロバイダには、それを説明して頼んでみてはいかがでしょうか? これらはPerlモジュールであり、使える関数が増えるだけなので、その関数がそのサーバにとって危険性がないかどうかだけ確認してもらえれば、 インストールは簡単に出来るはずです。

■ root権限を持つサーバを持っている方は、ご自身でインストールしてください。Net::Trackbackモジュールのインストール時にエラーが出た場合は、 Class::ErrorHandler を先にインストールすることで成功することがあります。参考まで。

■ RSS/RDFを表示しようとするとダウンロードになる場合があります。 Webサーバの設定により、.xml は application/xml で送られてきますが .rss や .rdf はMIMEが付かなくて送られてくるなど、 プロバイダによって設定がされていない場合もあります。.htaccess が設定して使える場合は MimeType を自分で設定するか、プロバイダに依頼してみましょう。

(参考)
AddType text/xml .rdf または
AddType application/xml .rdf のいずれか一方を設定

ただ、そこまでしなくても、設定や用意するRDFファイル名を index.rdf → index.xml や index.rss に変えて設置すればいいと思います。

困ったらサポート掲示板掲示板利用上の注意


補足

○テンプレート(base.cgi)にSSI記述はできません。(v2.00〜) CGI上ではSSIは実行できないからです。v2.**からはテンプレートを読み込んでCGI出力のみになりました。


アレンジ情報

ブロキューの改造方法を紹介するページを作りました。→こちらです


技術考察

・ユニコード8には EFBC8C と C2A2 と 5C というような3種類の桁数のコードが存在します。 変換処理には simaguni.pl と変換テーブル jipang8.txt を利用していますが、 文字化けの原因として、変換テーブルに無い文字の入力と、変換処理の問題がありました。 変換テーブルに無いもの以外に、変換表は合っていても、Web上でURLエンコードされて届くデータコードがそれとは違っている場合があり、 その追加や修正を行うことで文字化けを解消しています。また、変換処理では、simaguni.pl:Version 3.5b において、 e または E から始まる6桁コード以外、C または D で始まる4桁コードや 5C コードの処理がなぜかコメントアウトされていて、 処理されませんでした。理由は分かりませんが、C または D で始まる処理を復活させました。 5C "\" (全角バックスラッシュ) は、EFBCBC となるため、変換テーブルの修正にて対応することにしました。 (作者と連絡が取れないため、スクリプトのバージョンはいじらず、修正した旨を告知した上で添付しています。)

(参考文献)
http://ash.jp/code/unitbl21.htm


Powered by CGI RESCUE(R)