「この機能は、 スタンダード 権限を持つアプリケーションからのみ利用できます。」(IME関連のエラーメッセージとAjaxの危険性)

今朝、Googleで検索しようと入力すると、あるキーワードが漢字変換できませんでした。「あ、うっかりしていた。Vistaでこの言葉、まだ単語登録していなかったな」と思い出し、IMEの単語登録を起動させようとすると、「この機能は、 スタンダード 権限を持つアプリケーションからのみ利用できます。スタンダードユーザー権限を持つアプリケーションから起動してご利用下さい。」というエラーメッセージに遭遇。
「権限」ということら、UAC関連だなというのはすぐに分かりました。IE7でgoogle検索しようとしてこういうエラーが発生しましたので、ためしに秀丸を起動させて、IMEの単語登録機能を起動させたところ、起動できました。そこで単語登録をしました。ところが、IE7でその単語登録した単語を変換させようとすると変換候補に出てきません。「あれー、確かに登録したけどな」と思いつつ、秀丸エディタ上でその単語を入力し変換したところ、ちゃんと候補に出ました。仕方がないので、その場では秀丸エディター上で入力したキーワードをコピーして、IE7上でペーストして検索させました。
「この機能は、 スタンダード 権限を持つアプリケーションからのみ利用できます。」でGoogle検索してみると、すぐに回答は見つかりました。
●Windows Vista の Internet Explorer 7.0 で日本語入力システムの一部の機能が使用できない
http://support.microsoft.com/kb/931482/ja
原因も回避策も予想したとおりでした。IE7の保護モードのもとでは駄目なようです。あくまでもVistaのIE7.0上でのみ駄目ということであり、メモ帳やFirefoxでは問題なく単語登録したものを変換できます。
さらに調べていくと、別の観点での解決方法を提示しているマイクロソフト社の技術文書にたどりつきました。
●登録した単語を Windows Vista の Internet Explorer 7.0 で使用できない
http://support.microsoft.com/kb/929623/ja
要は、保護モードだから単語登録した単語は使えないというのだから、保護モードがデフォルトではoffになっている「信頼済みサイト」であれば変換できるというわけである。
なるほど、なるほど、ってそうはならないでしょう。その単語を入力することになるサイトを事前に全部登録できれば問題ないけれど、そうはいきません。ショッピングサイト・懸賞サイトなどでいちいち毎回住所を入力するのが面倒なので、「じゅうしょ」と入力すれば住所が出てくるように長年していた私にとって、これは非常に使いづらいです。メールアドレスの入力も簡単にできるようにしていたのに・・・、とほほ。
確かに、このユーザー辞書を悪意のあるサイトが覗き見することができるようなセキュリティ・リスクがあるならいたしかたないとも思いますが、私にはどのようにしてそのようなサイトがユーザー辞書を覗き見することができるのか想像できないため、単に過剰な防御のように思え、使い勝手が悪くなったようにしか見えません。
<<本当は怖いAjax>>
ただ、こう書きながら思いついたこととして、ユーザー辞書全体を盗み見見ることは不可能か難しいとしても、その一部であれば比較的容易であることに気づきました。例えば、サイト訪問者が「じゅうしょ」と入力して自分の住所が入力されるようにしていたとして、本当に住所が書かれるべき懸賞サイトやショッピングサイトであれば問題はないですが、普通の掲示板などで、別に自分の住所を入力したかったわけではなく、一般的な意味の「住所」という単語を入力したかったのに、自分の住所が変換候補に出現し、思わず、それを選択して確定入力してしまったとします。
すると、一般の人は「そんなの、すぐにBackSpaceなどで消せば問題ないじゃないか。送信ボタンをクリックしなければ何の問題もないじゃないか」と思うかもしれません。しかし、送信ボタンを実際に入力したかどうかはまったく関係がなく、ユーザーがキー入力した内容(どのキーを押した(=document.onkeypressなどで取得可能。)か、そして実際に入力された内容(=document.フォーム名.フィールド名.valueなどで取得可能))はサイト運営者に(ほぼ)リアルタイムに全て伝わることは、Googleサジェストなどで実証済みです。Ajaxは便利なようですが、ユーザーの意図しない変換による重要情報の流出を招きかねません(誤変換は消してやりなおせばいいという話は通じないということになります)。
「でんわ」と入力して携帯の電話番号が出るようにしている人がいて、掲示板などで「でんわ」と入力して「電話」と普通に変換したかったのに、いつものくせで、自分の携帯電話番号を確定入力してしまったが最後、BackSpaceやDeleteキーで削除する前に、サーバ側にその情報は伝わっているかもしれないのです。実際そういう人がいるかどうかはわかりませんが、「くれじっと」と入力して、クレジットカード番号が入力されるようにしている人がいて、自分のクレジット番号を入力しなかったわけでないけれど、「くれじっと」を変換する際に、間違って、自分のクレジット番号を一瞬でも入力してしまったら・・・。
となると、マイクロソフト社の今回のセキュリティ仕様も、「うざいけどありがたい」とも言えるのかもしれません。しかし、それだったら、ユーザー辞書登録した単語は変換候補に出ないだけで十分であり、IE7がアクティブな状態では、単語登録機能を起動することさえできないのはなででしょうか? これは、まだ結論が出ていません。単語登録する際には、IMEの単語登録パネルにフォーカスがあたっているはずであり、document.onkeypressなどではキー入力値は取れないはずなのに・・・。
話を元に戻しますと、逆に、XP SP2のIE6やIE7ではこの問題が起きない(辞書登録した変換が自由にできてしまうこと。)のは、かえって不安ですね。また、Vistaを使っても、Firefoxの場合には、このようなセキュリティ防御が働かないので、間違って誤変換・確定入力したものは、Ajaxのおかげで、すべてサーバ側の人間に筒ねけになる危険性を常に考えないといけないということかもしれません。
| 固定リンク


コメント
突然のコメント失礼いたします。
私アライドアーキテクツ株式会社の清水と申します。
この度、エンジニア様の情報を集めたクチコミサイトのスタートに際しまして、
是非ともお力添えを頂きたくコメントさせて頂きました。
このサイトの仕組みは、皆様のブログの記事の中からPHP、パール、JAVA、C言語
、HTML/CSS、FLASH、JAVASCRIPT、オラクル、S QL/EJB QL等に関する記事のみをサイトに収集し、クチコミサイトを作るというものでございます。
何卒宜しく願いいたします。
【説明・登録ページ】
http://www.edita.jp/admin/blogger_regist.php?id=1031&c=0
【お問い合わせ】
support3@edita.jp
投稿: 清水 | 2007/02/27 10:57
私は基本的に上記のような単語登録は、全て頭に@をつけています。
@じゅうしょ
@めーる
などです。
投稿: うきょきょ | 2007/03/27 13:52
なぜIEでは登録した変換が使えないのか調べようとしたら貴殿のサイトにたどり着き、理由が分かりました。
とても参考になりました。ありがとうございます
投稿: Torishin | 2007/06/21 23:12