2007年5月31日

コメントが投稿できないとか、消えてしまうとか、そういったことがあったら?


 コメントを投稿したとき、正常に処理されてブログに反映されたり、そうでなかったりすることがあります。
 ブログの設定を何ひとつ変更していないのにコメントの投稿後の処理結果が異なるようだと、とても悩ましい問題です。このような症状は再現性がないわけではないのですが、コメントを投稿したときとまったく同じ状況を作り出すことが不可能なので原因究明がとても難しく、原因がはっきりわからないことがよくあります。小さな要因が複雑に絡みあって問題が発生していると、特に原因がはっきりせず、推測するしかありません。例えて言うなら、「交通渋滞の原因って何?」みたいなものだと思うといいのかもしれません。

 ワタクシの経験上「ブログの設定を何ひとつ変更していない」かつ「Movable Typeに直接的な不具合がない」という前提で推測した原因ベスト3は以下の通りです。


1.標準プラグイン「SpamLookup」がデフォルトで参照しているサーバーが停止した
 「SpamLookup」はスパム対策の標準プラグインであり、コメントやトラックバックの投稿があると登録サーバーに対してブラックリストの問い合わせを行います。この登録サーバーが停止したり何らかの通信障害があると、サーバーからの応答がない(遅くなる)ため、結果としてコメント投稿に失敗したり、遅延に結びつきます。
 最近の出来事では、標準プラグイン「SpamLookup」がデフォルトで参照しているサーバーのひとつである「opm.blitzed.org」が停止しています。詳しくは、Movable Typeサポートページ、そしてMovable Typeユーザーで知らぬ人はいないだろうと思われるyujiroさんの解説を参照下さい。

 Six Apart - Movable Type サポート: コメントの投稿が急に遅くなりました
 小粋空間: Movable Type でコメント投稿・トラックバックが重くなる事象を解消する


2.サーバーやネットワーク負荷が高い
 サーバーやネットワーク負荷が高いとコメント投稿処理そのものが動かなかったり、トラックバックではこんなように、一部の処理がうまくいかない場合があります。
 特に、ブログをはじめて(サイトを立ち上げて)数ヶ月を過ぎると、検索サイトなどなど世の中にブログの存在が知れ渡り、スパムが急増します。各種プラグインなどでスパム対策をしてコメントスパムやトラックバックスパムを弾いてブログにスパムの投稿を防いでいたとしても、裏ではせっせと処理(プロセス)が動いています。特にcgiの場合は個々にプロセスが立ち上がりますから、スパムが多いほどメモリやCPUパワーを消費します。ワタクシ的対策は以下の通りでございます。

 暮らしのしおり:トラックバックスパム対策 <$MTEntryTrackbackData$>を削除する
 暮らしのしおり:トラックバックスパム対策その2 ~mt-tb.cgiを偽る~


3.Movable Typeは正常に処理しているた(実は単なる思い違い)
 標準プラグイン「SpamLookup」の設定には、
  ・ブラックリストに含まれるIPアドレスからの受信を「迷惑コメント/トラックバック」にする
  ・ブラックリストに含まれるドメインからの受信を「迷惑コメント/トラックバック」にする
 というものがあります。一方、Movable Type標準機能として「指定した日数の後に迷惑コメント/トラックバックと判断したものを削除する」が存在します。つまりこれらの機能を合わせ技で利用すると、投稿されたコメントが数日後には管理者が気づかぬうちに削除される(消えた)ことになります。
 ※ ひとつのIPを多くの人が使いまわしていることが多いインターネット環境ですから、他人の悪事により自身が使用しているIPがブラックリストに載ってしまうことが普通にあります。

 ではでは、ある事例南西風のノアさんのコメントをもとに検証してみましょう。

>コメントのパスが、指定された数字に変わったでしょ?あれから・・・・。

→ コメント投稿時に数字のパスワードを入れる、つまりSCodeプラグインのことですね。SCode導入前よりは処理は重くなると思いますが、SCodeが直接的な原因ではないと思います。コメントスパムやトラックバックスパムの急増、「opm.blitzed.org」の停止とたまたまタイミングが一致しただけだろうと推測します。SCodeに潜在的な不具合、SCodeの導入ミスの可能性も否定はできませんが....。


>エラーになると書いたコメントが全部消えちゃうのよね。再度書き直して送るとまたエラー・・・。

→「エラー」の意味が悩ましいですが、きっとサーバーからの応答がなく、次の画面に遷移できなかった状態のことですよね。やはりここでも、サーバーの負荷大が推測できます。
・・・コメント投稿に失敗した場合はブラウザの戻るボタンで戻ると、入力したコメントが残っている場合があります。これは、サイトのつくりによりますがね。


2007年5月18日

距離測定 面積測定ができる『キョリ測』 通園・通学路もこれでOK!?


 キョリ測とは?
 距離測定機能「キョリ測(ベータ版)」とは、地図上に任意のポイントを付けて、目的地までの距離を測る機能です。 いつもの散歩道はどれくらいの距離なのか、駅から待ち合わせ場所まではどれくらい歩くのか、が簡単に分かります! さらに消費カロリーの計算もできるので、ジョギングやウォーキングなどダイエットツールとしてもお使いいただけます。
距離測定:キョリ測(ベータ) -地図をクリックして距離を測定 消費カロリー計算も

 あっ、いや~これ案外便利。便利。自動ルート検索機能ではなく、マニュアルで地図にポイントをつけながら目的地までの距離や所要時間、そして消費カロリーも計算してくれます。また、ポイントを結んで多角形を作ることで面積も測定することができます。カロリー消費計算用の体重や年齢、その他カスタマイズ項目はクッキーに保存してくれるので、一度設定すればOK。
 通勤で、最寄り駅ひとつ手前の駅で降りて歩いたら...てな計算も出来るわけですね。
 
 で、で、でもね。もう少し早く知っていたらなぁ。
 子ども達の幼稚園の書類に2度、3度、通園距離や通園時間などを書きました。通園経路も手書きの地図で書き示しました。手書きの地図を書くのにセンスのないワタクシは苦労したのよねぇ。
 もしや、この『キョリ測』でポイント打って通園経路を明示し、適当な縮尺にして印刷すれば通園路の出来上がり!? 印刷物の切り貼りがNGの場合は、この印刷物を下書きに書き写せばOKじゃない。

<関連リンク>
 距離測定:キョリ測(ベータ) -地図をクリックして距離を測定 消費カロリー計算も
 ITmedia News:地図クリックで距離が分かる「キョリ測」に複数ルート比較機能


2007年5月14日

ブラウザで使える無料オフィスソフト「ThinkFree」


 ソースネクストは5月14日、米ThinkFreeが開発した無料オンラインオフィスソフトのβ版を公開した。Webブラウザからワープロ、表計算、プレゼンテーションの3機能が利用でき、マイクロソフト「Office」とのファイル互換性が高いのが特徴としている。正式サービスを始める9月までに100万ユーザーの獲得を目指す。
ITmedia News:ブラウザで使える無料オフィスソフト「ThinkFree」、ソースネクストが国内サービス

 いや~、すごいですね。これからはワープロ、表計算、プレゼンソフトがブラウザで出来てしまう。見た目もそっくりでございます。動作環境もWindows、Mac OS, Linux Fedora Coreと一通り揃っておりますし、ブラウザがInternet Explorer以外にFirefoxで動作しますからかなり有望かもしれません。

<関連リンク>
 ThinkFree てがるオフィス beta


2007年5月 1日

トラックバックスパム対策その2 ~mt-tb.cgiを偽る~


 トラックバックスパム対策 ~<$MTEntryTrackbackData$>を削除する~は、暮らしのしおりの他、ワタクシが管理しているあのブログでも施している策ではありますが、これだけではトラックバックスパムはなくなりませんでした。
 というのも、「Trackback Auto Discovery」という情報は消してもトラックバックURLはバッチリ記載しているわけで、スパマーはトラックバックURLを自動的に探っているようです。探る方法は如何様にもなる訳で、Movable Typeをほぼ標準仕様のまま利用していればトラックバックURLもパターンマッチングで抜き出せて当然といえます。

■前置き
 大半のスパマーはブログから機械的にトラックバックURLを抜き出しているでしょうから、これらデジタルに対抗するにはやはりアナログですよ。 トラックバックURLをそのままでは利用できないように一部手を加えたURLを記述しておき、正しいトラックバックURLに直さないと使えないようにしておくのです。スパマーではない方にはひと手間作業をして頂く事になる点が大変心苦しいのですが、とても有効だと思います。
 そして、ワタクシの経験上、Webサーバーのアクセスログを見る限り、スパマーのシステムはトラックバックスパムが送信できたか否かを判断しているものもあるようで(←あくまでも推測です)、日々一部手を加えた誤ったトラックバックURLでスパムが送信されてきますが、その後送り続けられる(増大する)ことは今のところありません。

 この手の策が施されたブログサイトをいくつか拝見したことがありますが、自ら策ってみたところ迷惑トラックバックに振り分けられるトラックバックも皆無です。いつまで有効な策であるかは未知ですが、現在のところ快調です。


■対策方法(Movable Type)
トラックバックスパム対策 ~<$MTEntryTrackbackData$>を削除する~との合わせワザでの手順です。

 1.テンプレートから<$MTEntryTrackbackData$>というタグを消す。
  → ご利用のテンプレートによりますが、「エントリー」「カテゴリー」「日付」「インデックス/メインページ」の4つのテンプレートに埋め込まれています。

 2.偽りのmt-tb.cgiを指定する。
  → 「mt-config.cgi」のTrackbackScriptにスクリプト名が記載されています。こちらを例えば「mt-tb.cgi」→「MT-TB01.cgi」というように偽りの名称を指定する。

 3.既にスパマーに知れ渡ったスクリプトを無効にし、かつ、実ファイル名を上記2の偽りのファイル名を考慮た名前にを変更する。
  → 現在まで使用していた「mt-tb.cgi」はスパマーに知れ渡っています。この実ファイル名の使用をとりやめ、上記2の偽りの名前を考慮して例えば「mt-tb01.cgi」にする。
  → ローカルでファイルをコピー(リネーム)して作成しアップロードした場合は、属性(実行権限)を再確認しましょう。

 4.トラックバックURLを出力するテンプレートに、正しいトラックバックURLへの変換方法を記載する。
  → トラックバックURLを書き出す<$MTEntryTrackbackLink$>タグを探し、このタグの前後に読者がわかるように正しいトラックバックURLへの変換方法(説明)を記載します。偽りのトラックバックURLは「http://xxx.xxxx.xxxx/cgi/mt/MT-TB01.cgi/1234」のようになりますので、これを正しいトラックバックURL「http://xxx.xxxx.xxxx/cgi/mt/mt-tb01.cgi/1234」に変換する方法を記載すればよいでしょう。

 5.上記1、2、4の当該ファイルをサーバーにアップロードする。
  → サーバーのファイルを直接編集した場合は必要ありません。

 6.エントリーを全て再構築する。

 7.トラックバックURLが上記2で指定した文字列となっていることを確認する。

以上で作業は終了です。最後に、トラックバック送信テストを行い、動作確認しましょう。

■注意事項
 ・とあるブックマークレットなど「Trackback Auto Discovery」を利用した機能が使用不可能になります。
 ・上記「例え」はワタクシの環境(サーバーOSがLinux)を前提としています。つまり、ファイル名として大文字小文字を区別することを前提としています。Movable TypeをWindows+IISで動かすこともできるようですが、Windows+IISの場合どのような挙動となるか未調査(未検証)です。