トップページ | 利用規定
  ブログ・ブロキュー(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)