お知らせ

これだけは知っておきたい Webアプリケーションの常識 2008年3月28日

これだけは知っておきたい Webアプリケーションの常識」が発売されました。
Webアプリケーションを作る上では、HTTPのプロトコルや、開発言語、データベースなど、さまざまな知識を組み合わせることが必要になります。
それらを全般的にまとめた一冊です。
Webアプリケーション開発にチャレンジしたい方や、実際に開発までしないまでも基礎知識として知っておきたい方にお勧めです。

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

Movable Type 3.3のコメント投稿の不具合

| コメント(8) | トラックバック(4)

当Blogのリニューアル作業を行っていますが、新Blogでは、コメントスパム防止のために、小川宏高氏作の「Captcha」というプラグインを利用します。
このプラグインのテストをしていたときに、Movable Type 3.3のコメント投稿機能に、不具合と思われる点を見つけました。

Movable Typeでは、コメント投稿時に「Typekey」というIDを使って認証を行うことができます。
「Typekeyを使わないで投稿されたコメントは保留する」など、スパム対策などに利用することができます。

各エントリーのコメント入力フォームで、Typekeyログインしてコメントを書き、直接に投稿した場合は、問題はありません。
しかし、コメントをプレビューしてから投稿すると、問題が起こりました。
Captchaプラグインを入れた場合、コメントプレビューして投稿すると、Captchaのテストでエラーになり、Typekeyからログオフした状態になりました。
また、Captchaプラグインを使わないと、コメントをプレビューしてから投稿すると、Typekeyの情報が外れた状態でコメントが投稿され、Typekeyからログオフした状態になりました。

MTのソースを見てみると、App/Comments.pmの中の「_get_commenter_session」という処理で、Typekeyログインのチェックが行われています。
MT3.2とMT3.3でこの部分が若干異なっていて、それが原因で上で書いたような現象が起こっています。

問題の箇所は、MT3.3のApp/Comments.pmの80~82行目です(以下のリスト)。

if (!$sess_obj || ($sess_obj->start() + $timeout < time)
     || ($q->param('email') && ($sess_obj->email ne $q->param('email')))
     || ($q->param('author') && ($sess_obj->name ne $q->param('author'))))

この部分のソースを、以下のように書き換えてMT3.2と同じにすると、上の現象がなくなりました。

if (!$sess_obj || ($sess_obj->start() + $timeout < time))

この件はシックス・アパートにフィードバックしておきました。

はてなブックマークの情報

トラックバック(4)

トラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/704.

 不具合があるということで、その解決策も示されていますので、その通り手直ししたところ解決しました!! ありがとうございました。 続きを読む

コメント投稿のテストを繰り返していた時に気付いたのですが、Movable Typ... 続きを読む

一週間放っておいた 3.35-ja に手を付けました。以降アップグレード作業の覚書。 続きを読む

ページの改装は大体終わったわけだが、そもそもなかなか改装に踏み切れなかった理由... 続きを読む

コメント(スレッド8件,コメント8件)

コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。

No.1 日下部理恵 Author Profile Page: (無題)

私も、
「コメントをプレビューしてから投稿すると、Typekeyの情報が外れた状態でコメントが投稿され」という問題に悩んでいましたが、やはり不具合があったのですね! これですこし安心しました。「手直し」して、コメントしてみます。うまくいくかな。

No.2  Author Profile Page: (無題)

>日下部理恵さん
こんにちは。

こちらでは手直しをしていないですが、リニューアル後の新Blogでは手直しをした状態にしてありますので、Typekeyでログインして正しく投稿することができます。

No.3 日下部理恵 Author Profile Page: (無題)

いつもお世話になってます。

この問題、MT-3.34では、直っていますか?
私が試した範囲では、直っていないのではと思います。
TypeKeyが外れて投稿されてしまいます。

3.34でも、ここのエントリーに書かれているように修正した方がいいですよね?
一応、私が試した範囲では、ここに書かれているように修正するとうまくいくようです。

No.4  Author Profile Page: (無題)

>日下部理恵さん
こんにちは。

この問題は3.34でも修正されていませんでした。
もう一度フィードバックを出しておいた方が良さそうです。

No.5 琉羅 Author Profile Page: (無題)

以前より、お世話になっております(このHNではお初になりますが)。

この問題で今日丸一日頭を悩ましていましたので、本当に助かりました。
お陰様で、Typekeyにサイン・インして確認後に出る不具合を消すことができました。この問題は結構重要度が高いような気がするのですが、シックスアパートは放置なんですね汗2

最初はOgawaさん作のCaptcha pluginとの競合か何かかと思い込んでしまい、Ogawaさんのブログに場違いな質問をしてしまったり、とにかく疲れました嫌な感じ

まだブログを公開できる段階ではないのですが、公開したらこの件は私もエントリーにしようかと思っております。その際はTBさせていただくと思いますので、その時はよろしくお願いします。

No.6  Author Profile Page: (無題)

>琉羅さん
こんにちは。
お役に立って良かったです。

MT3.34ではこの不具合は修正されていませんでしたが、次のバージョンでは修正されることを期待したいです。

No.7 琉羅 Author Profile Page: (無題)

>壱さん
予定より少し公開が遅れてしまいましたが、ブログを公開しましたのでトラックバックさせていただきました。
少しでもこの不具合の認知度が上がれば幸いです。

No.8 日下部理恵 Author Profile Page: Movable Type 3.36 でも有効

ここに(エントリー)書かれている事は、Movable Type 3.36 でも有効のようです。Comments.pm を書き換えた上でテストしましたが、「Typekeyの情報が外れる」ような事はないです。

コメントする


Movable Type Developer's Guide Volume 1

Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」を発売しました。
詳細は特設ページをご覧ください。