MT4 の captcha でハマリそうなところ 2
自分の場合は問題ないのだけど。
MovableType4のcaptchaでハマった にトラックバックをもらった、blog.1cco.com Movable Type 4にアップグレード。やっぱりハマった2 を拝見させていただいた。
設定は特に問題が無さそうなんだけど、captcha 用の画像が表示されないとのこと。
システムの状況を確認することはできないので、1つの可能性としてになるのだけど。
apache を使用している場合、AcceptPathInfo というディレクティブがある。
マニュアルは Apache HTTP サーバ バージョン 2.0 Apache コア機能 参照のこと。
これは、/script.cgi/value/valueなどとなっている場合に、value部分をscript.cgiへの引数として扱えるかどうかという設定。
(詳しくは語弊があるが、ざっくりとしたところ。詳細は先述のマニュアルで解説されている)
デフォルトでは、この値は
デフォルトではというのは、apache 本来のソースではなので、ディストリビューションやconfigureの内容によっては、デフォルトでoff になっているという可能性もあるかもしれない。
captcha 用のイメージソースは、
そのため、AcceptPathInfo がoff に設定されている、、AcceptPathInfo の対象外になる方法でMTが稼働している状態だと、画像が表示されない可能性がある。
これを防ぐためには、AcceptPathInfoが有効になるようにしなければならない。
具体的には、apache のコンフィグファイルか .htaccess で AcceptPathInfo を default で設定するか、on で設定するかしなくてはならない。
CGIとして稼働させている場合は、default で大丈夫であるし、そうでなければ on にする必要があるだろう。
これは動かない場合の一例であるので、他の原因の可能性もあるが、確認自体は簡単なはずなのでうまく行かない場合は確認しても損はないはず。
追記
トラックバックを送信しようとしたら、エラーで受け付けてくれなかった。
HTTP error: 403 Throttled とのことなので、トラックバックを受け付けてないのかな
MovableType4のcaptchaでハマった にトラックバックをもらった、blog.1cco.com Movable Type 4にアップグレード。やっぱりハマった2 を拝見させていただいた。
設定は特に問題が無さそうなんだけど、captcha 用の画像が表示されないとのこと。
システムの状況を確認することはできないので、1つの可能性としてになるのだけど。
apache を使用している場合、AcceptPathInfo というディレクティブがある。
マニュアルは Apache HTTP サーバ バージョン 2.0 Apache コア機能 参照のこと。
これは、/script.cgi/value/valueなどとなっている場合に、value部分をscript.cgiへの引数として扱えるかどうかという設定。
(詳しくは語弊があるが、ざっくりとしたところ。詳細は先述のマニュアルで解説されている)
デフォルトでは、この値は
Default になっており、続きのパス名情報の扱いはリクエストの ハンドラで決まります。 普通のファイルのためのコアハンドラのデフォルトはとのことなので、PATH_INFOを拒否します。 cgi-script や isapi-handler のようにスクリプトを扱うハンドラは 一般的にデフォルトでPATH_INFOを受け付けます。
AddHandler cgi-script .cgiが設定されていて、CGIとして動いているのであれば本来有効なはず。デフォルトではというのは、apache 本来のソースではなので、ディストリビューションやconfigureの内容によっては、デフォルトでoff になっているという可能性もあるかもしれない。
captcha 用のイメージソースは、
<img src="/path/mt-comments.cgi/captcha/1/トークン" width="150" height="35" />のように指定されていることから、mod_rewriteを使用しているわけでもなさそうなので、このAcceptPathInfo を利用しているものと思われる。そのため、AcceptPathInfo がoff に設定されている、、AcceptPathInfo の対象外になる方法でMTが稼働している状態だと、画像が表示されない可能性がある。
これを防ぐためには、AcceptPathInfoが有効になるようにしなければならない。
具体的には、apache のコンフィグファイルか .htaccess で AcceptPathInfo を default で設定するか、on で設定するかしなくてはならない。
CGIとして稼働させている場合は、default で大丈夫であるし、そうでなければ on にする必要があるだろう。
これは動かない場合の一例であるので、他の原因の可能性もあるが、確認自体は簡単なはずなのでうまく行かない場合は確認しても損はないはず。
追記
トラックバックを送信しようとしたら、エラーで受け付けてくれなかった。
HTTP error: 403 Throttled とのことなので、トラックバックを受け付けてないのかな
トラックバック
このブログ記事に対するトラックバックURL
http://fakelife.info/mt/system/mt-tb.cgi/38
» PerlモジュールCrypt::DH追加で解決!「MT4のCAPTCHA画像が表示されない」(Notebook :: Hibi no Note)~のトラックバック
Movable Type 4でCAPTCHAプロバイダをMovable Type標準にしてもCAPTCHA画像が表示されなかった件、XREAの現在使用中の... 続きを読む
はじめまして。
先ほど、トラックバックさせていただきました。
以前、こちらでかかれていた「はまった」件、大変参考になったのですが、その顛末を書いたときには、このブログにアクセスできなくなっていてトラックバックできずじまいでした。
私のところではモジュールの追加インストールで表示が可能になりましたよ。いろいろ可能性はあるのですね。
コメントおよびトラックバックありがとうございます。
アクセスできなかったのがこちらの問題だった場合、たぶんファイル名命名規則を変更したりとか、サーバのハード的な増強していたりとかのメンテナンス関係だったのではないかとおもいます。
ご迷惑おかけしました。
captchaが使えるようになってなりよりです。
MTくらいの大きなシステム(とはいえそんなに大きいわけでもないですが)になると、モジュールへの依存関係も多いですし、なかなか原因特定は大変ですね。
captchaだと真っ先にイメージされるのはimage系のモジュールなんですけど、その他のモジュールにもいろいろ依存してるみたいですね。
いつか暇つぶしにソースをおっかけてみたいなぁとは思うんですが、いろいろ他にも興味のあることが多いので、なかなか手が回りません(笑
自分のところで不都合が起きたり、別件で見ているときに「ん?」と気になったりしないと。
なにはともあれ今後ともよろしくお願いします。