coCommentの拡張機能をいれるとlivedoor Readerの動作がおかしくなるらしいので調べてみた

似たようなのを続けて見たので調査してみた。

http://d.hatena.ne.jp/ekken/20070303/1172921555
http://d.hatena.ne.jp/babie/20070227/1172547987

coCommentのFirefox用の拡張が原因っぽい。手元のFirefox2だとXULのエラーが出て上手くインストールできなかったんだけど、ソースを読んで調べてみた。

原因はこのソースが読み込まれてるからだと思われる。
http://www.cocomment.com/js/core.js

coCommentの拡張機能はページを読み込むたびにブックマークレットを実行するのと同じようなことをしてるみたい。その際に、サイト側で定義してある関数を上書きしてしまうことがある。$とString.prototype.stripが再定義されていて、これがlivedoor Readerが動かなくなる原因だろう。他にもグローバル変数使いまくり。なんというか全般的におかしい。相性とかそういう類のものではなくて、単にcoCommentのJavaScript書いてる人が素人なだけ。

こっち側ではどうしようもないのでcoCommentの方に文句を言ってください。

感想

Firefoxの拡張機能は、分かってる人であれば中身を解凍してソースを見て、その段階で安全かどうかを判断することができるけど、ウェブサイト上に置いてあるJSを動的に読み込むようなことをしてしまうと、いつでも改変することが出来るので安全性を保障できない。(インストールした時点では安全でも、後から悪意のある拡張機能にいつでも変更できるということ)

ブックマークレットで使っているソースと共通化することが出来るので、メンテナンスコストを下げることができる。そういう理由でこういった実装にするのは、ありえないことではないとは思うけど、せめて普通は拡張機能側で適用可能なサイトかどうかを判別してからやるものだと思います。


WriteBacks

あの

malaさんって何歳ですか?

Posted by nini at 2007/03/05 (Mon) 02:18:18

ググれ

Posted by mala at 2007/03/05 (Mon) 12:48:23

Livedoor ReaderがcoCommentプラグインを入れたFireFoxで見れない

coCommentの拡張機能はページを読み込むたびにブックマークレットを実行するのと同じようなことをしてるみたい。その際に、サイト側で定義してある関数を上書きしてしまうことがある。$とString.prototype.stripが再定義されていて、これがlivedoor Readerが動かなく

Posted by yasuhoの隠れ家 at 2007/03/06 (Tue) 22:17:45

Posted by at 2007/04/17 (Tue) 17:10:45
TrackBack ping me at
http://la.ma.la/blog/diary_200703041323.trackback
Post a comment

writeback message: Ready to post a comment.







spam yoke. nanimo ireruna.