名前空間

# hatenadiary 『キーワード空間が別なダマグレ町を作るというのはどうでしょう』

# hatenadiary 『今の状態では無理ですが(ダマグレ町)、例えば人とポイントを集めたら独立可能、というのはありかと思っています。』

「はてなダイアリーのキーワード機能」関連のコメント欄

*

ふーん、はてなダイアリーのキーワード管理システムって名前空間に対応可能になっているのか。いったいどういう風にやるんだろうな。俺もWiki系システムでほどよい名前空間的機能を実装しようと試行錯誤しているんだけど、使い勝手の良い実装方法がなかなか思いつかないでいる。

一番シンプルな実装方法としては、「選択した一つの名前空間だけが利用できる(あるいは優先される)」って感じだけど、そうするとちょっと使い勝手が良くないんだよな。「文脈に応じて適切な名前空間が自動的に選択される(複数の名前空間をシームレスに利用できる)」って感じが理想なんだけど、「文脈」「適切」の定義を具体的な仕様に落とせない。

すげー複雑でもいいならなんとかなりそうだけど、こういうのはシンプルで気の利いた核となる思想を思いつかないままに実装しても、どうせすぐに破綻するだろうし。

はてなの場合

上級者ばかり使うようなとこだと、悪意のあるXSSを仕込むようなやつなんて、自浄作用で淘汰されてくわけで(利用者が初心者ばっかりだとなかなか見つからないかもしれないけれど、そうじゃなければすぐに発見されて管理者に通報されてアカウント剥奪で終わると思う)、ガチガチに縛るという方針はそういうのと逆行してるんじゃないかと思った。

対象ユーザーは?

*

「悪意のあるXSS」=「他のサイトに攻撃を仕掛けるもの」の場合ならば、上記の文章が成り立つかもしれない。その場合はXSSの存在が(攻撃される側のログなどから)気がつかれやすいし。

けれども、はてなダイアリーで問題になるXSSは、はてなシステムにおけるCookie盗難(=アカウントハイジャック)の可能性の方で、そっちの方はそれが仕掛けられていてもその存在が気づかれにくい(隠し窓経由でCookieを別サーバーに保存しつつ、表向きは普通の動作をするスクリプト(おみくじとか)を見せておいて、正当なスクリプトが動いているように見せかけたり、とか)。

はてなみたいに金券相当のポイントを扱っているところでアカウントハイジャックされるというのは、クレジットカード番号を盗まれるようなものだ(そこまでの自由度はないけど、金が絡むという点で問題は大きくなりがち)。こういうサーバーにおいては、XSSの可能性は100%つぶしておかなければならないので、がちがちに縛るのが当然だろう。

expression

awacsの日記で使われていてはじめて知ったけど、CSSでexpressionなんて関数が使えるんだね。知らなかったよ。やっぱり探すとほかにもいろいろあるもんなんだなー。