趣味Web 小説 2006-02-05

ブログサービスの設計思想とユーザ側の制約

はてなではサービス全体で共通のログイン cookie を発行し、各種サービスの設定・編集やプライベートモードの閲覧、ログインコメントなどをパスワード入力なしで利用できるよう設計されています。そのため、*.hatena.ne.jp 内で任意の JavaScript が利用可能な場合、悪意あるユーザは他ユーザの cookie を取得してなりすまし、パスワードの入力が必要な退会・個人情報管理・ポイント操作を除く全ての操作を実行できます。

はてなダイアリーで JavaScript の自由な利用が制限されているのは、この危険に対処するためです。各種 SNS でユーザの自由なスクリプト利用が認められない理由も同様です。ログイン情報をユーザが保持していることを前提に設計されたサービスでは、避けられない問題なのです。

こうした事情は一般のユーザには理解されにくい(私も satoshii さんのご教示を受けるまで全く無知でした)。fc2 ブログのようにユーザの JavaScript 利用を許可しているサービスが多数あるため、はてなダイアラーや Yahoo!ブログ利用者の少なからずが不満を持っていると思う。

はてなダイアリーでユーザが自由にスクリプトを使えるようになるためには、表示画面へのログイン cookie が第3者に読み取られても、なりすまし問題が生じないよう設計を変更しなければなりません。プライベートモード閲覧やログインコメント機能をパスワード制とし、管理画面を別ドメインへ変更する、など。そういわれてみて初めて、現在の設計の便利さを理解できます。

はてなはスクリプトの利用制限に苦労しています。最近もはてなダイアリー本体のXSS脆弱性が話題になりました。はてなは HTML と CSS の(ほぼ)自由な入力を許可しており、入力パターンが膨大なので、スクリプトが紛れ込んでいないかどうかのチェックが大変なのだそうです。Yahoo!ブログや mixi などの SNS が HTML や CSS の利用を不可能にしたり、多くの制限を課したりする理由は、ここにあったのですね。

HTML や CSS の(ほぼ)自由な入力とスクリプトの禁止を両立させるため、あえて茨の道を歩んでいるはてなですが、個人的には「サービスの設計を変更してユーザのスクリプト利用を許可してはどうか」と考えています。SNS 的な部分に関心のなかった私は、はてなの仕様を長らく不便に感じていました。はてなダイアリーの書きやすさは他サービスに代え難く、「我慢」しているユーザは少なくないと思うのです。

一口にブログサービスといっても、その設計思想は様々です。はてなや Yahoo!ブログは SNS のような使い勝手を目指しているので、JavaScript 利用の自由を閲覧者に与えられません。逆に fc2 ブログは閲覧制限にパスワードを必須とする他ない。こうしたサービスの設計思想とユーザに課せられる制限との関係について、各事業者がもう少しうまく説明してくれたら、よくわからない段階で「なんだこりゃ」と放り出すことも減るのではないでしょうか。とくに、ユーザに多くの制限を課すサービスでは、納得できる説明がほしい。

私は過去に何度かはてなダイアリーを紹介してきましたが、「なぜ邪魔なヘッダーがあるの?」「忍者のアクセス解析貼れないの?」といった問いに答えられませんでした。はてなが SNS とブログの中間を狙うサービスだと理解して初めて、得心した次第です。得心したら会員が増える、とは限りませんが、サービスの設計に込められた思想を理解もされないままサヨナラされるよりはよいと思います。

参考記事(satoshii さんのご教示による)
逆リンク!
追補

それなりに追記・補足もしてきたつもりなのですが、ご不満が尽きないようなので、記事を現在の視点から全面的に書き換えました。従来の記事はコメントアウトしてあります。

Information

注意書き