2004年05月31日 Mon 00:08
人柱日記その8「救いの神降臨?編」
Ogawa::Memorandaの(o)氏が、
Beta Weblogにて、『人柱日記その7「TypeKey関係?編』の原因を
TypeKey認証後の動作から、推測して、修正の可能性を示唆してくれています。
以下、Beta WeblogでのOgawa::Memorandaの(o)氏のコメントより。
(*途中、スペースの都合上、改行する必要のない部分も改行されています)
Typekeyで認証後の動作を考えてみます。
(1)Typekeyで認証すると
http://.../mt-comments.cgi__mode=handle_sign_in&static=1&entry_id=1
&ts=1085900094&email=XXXX&name=foo&nick=nickname&sig=XXX
を呼び出します。
(2)mt-comments.cgiではnickとsigをそれぞれcommenter_name,
tk_commenterというクッキーに格納し、元のエントリページを呼び出します。
(3)エントリページの中で、
http://.../mt-comments.cgi?__mode=cmtr_name_jsを呼び出します
(4)mt-comments.cgiは、commenter_nameクッキーの値を取得し、
var commenter_name = "XXX"; という文字列を生成します。
クッキーが取得できない場合XXXは空になります。
(5)エントリページでは、
var commenter_name = "XXX"; というJavascript
が実行され、
commenter_name変数にnicknameがセットされます。
(6)さらにエントリページでは、
commenter_name変数がセットされていればサイン・イン状態、
そうでなければサイン・アウト状態と判定して表示します。
(6)で正常に判定されない理由としては以下が考えられます:
(a)commenter_name変数が正常に設定されていない。
(b)commenter_name変数が設定されないうちに(6)の判定を行っている。
(a)は、(2)で格納したクッキーを(4)で読み出せない、
つまりクッキーの読み書きの順序が保証されないことを意味します。
そんなことが起き得るのだろうかとかなり疑問に思います。
(b)は、(5)と(6)の処理順序が逆転しているときに起き得ます。
JavaScriptはページの先頭から実行することになっていますから
これも考えにくいです。が、
(5)の処理は(3)(4)の処理後に行われるため実行に時間がかかりますから、
(3)(4)(5)の処理をタイムアウトさせて
(6)を実行してしまうことがブラウザによってはあるかもしれません。
もし、(b)だとすると、Individual Entry Archiveの
<script type="text/javascript" src="<MTCGIPath><MTCommentScript>?
__mode=cmtr_name_js"></script>
を以下のように変更するとうまくいくかもしれません。
<script type="text/javascript"><!--var commenter_name = getCookie
("commenter_name");
// --></script>
大体、下記2箇所の下あたりにあります。
1)エディタ等で見ると大体166行目あたりになります。
<MTIfNonEmpty tag="MTTypeKeyToken">
<div id="thanks">
<p>サイン・インを確認しました
2)エディタ等で見ると大体214行目あたりになります。
<MTElse>
<MTIfNonEmpty tag="MTTypeKeyToken">
以上の修正で、私の設置したMT3.0DE-jaはサイン・イン/アウト共に
普通に動作するようになりましたが、
あくまでこれは、私の環境下(サーバ、OS、ブラウザ等)におけるものであり、
Beta Weblogでは、私も問題なく、サイン・イン/アウトできていますので、
以前のエントリ『MT3DEの日本語版ベータ現在のバグ状況』と同様、
これらは、私の判断の基、
MT3DEの日本語版ベータサイトのバグ・レポートより抜粋・再編集したものであり、
米シックス・アパート社、及び日本法人であるシックス・アパート株式会社には、
一切の関係・責任はありません。
なお、これら解決方法の例は、公式のものではなく、
また、どのようなエラーが出るかは各環境下において、違う場合がありますので、
私の環境下でも試しましたが、他の環境下においては、
これらによって、トラブルが起こる可能性があります。
必ず、バックアップをとるなどしてから、
自己責任において、実行してくださいますようお願い申し上げます。
トラブルが起きましても、当サイトでは、一切責任を負いません。
また、ご参考にさせていただいたサイトはトラブルに関し、一切関係ございません。
また、これらは、MT3DEの日本語版ベータにおけるものであり、
今後のバージョンアップや、正式版リリースにより解決されると思われます。
以上を理解し了承した上で、試される方は、お試しください。
from: nil blog
Excerpt: TypeKey認証 続き [Read More]
Tracked on 2004年07月28日 10:16
from: be natural
Excerpt:
自分はMac環境メインなので、気づかなかったのですが、WinXP+IE6の環境では TypeKey IDでサイン・インをしても「サイン・インを確認しました」と表示されません。
[Read More]Tracked on 2005年04月25日 15:21