昨日の日記にも書いたようにOperaを搭載したPHS端末「AH-K3001」は、携帯電話のWeb利用の新たな一歩を踏み出す可能性を秘めている。
京セラの発表資料によると、
■「Opera」ブラウザを搭載することで、HTML(パソコン用)サイトの閲覧が可能※
(略)
※サイトにより一部ご覧いただけない場合があります。
◎JavaScript対応により、パソコンで表示されるままの動きある豊かなホームページの表現を「AH-K3001V」にて再現することが可能です。
◎SSL対応によりインターネットショッピングも行えます。
またCookieにも対応しており、対応サイトへは一度IDやパスワードを入力すれば、次回からはID、パスワードを入力することなく直接アクセスすることが可能です。
とある。
携帯電話のcookie対応はEZweb陣営で既に達成されているが、JavaScript対応は初であろう。気になるのは、JavaScript対応がどこまでの範囲で行われているかだ。
PCの世界でもJavaScriptには複数の仕様があって混乱状態になっている。Microsoftは「JScript」と呼び、IEには独自の機能が大量にある。Netscapeにも古くは独自の変な機能があった。Operaも、「history.previous」などの独自の機能を無分別に入れてセキュリティを台無しにした前科がある。「JavaScript対応」とは元々そういうものなので、「完全対応」する必要はないだろう。広く用いられている機能にだけ対応すれば十分で、ときどき使えないサイトがあってもしかたない。そんなサイトを作る方が悪いと言える。
問題は、JavaScriptからcookieにアクセスする機能、つまり「document.cookie」というプロパティの機能が搭載されているかどうかだ。
もしこの機能が削られているならば、たとえWebサイト側にXSS(クロスサイトスクリプティング)脆弱性があったとしても、それによってcookieを盗まれることはない。
PCのWebの世界では、document.cookieなぞというものが発明されて普及してしまったために、XSS脆弱性というやっかいなセキュリティ課題を抱えることとなってしまい、Webアプリケーション自体が危なっかしいものになってしまった。
Netscape 7等では、docment.cookieによるcookieの読み書き機能をオフにする設定ができるようになった。ここをオフにすれば、サイト側のXSS脆弱性によってcookieを盗まれることを防止できる。
携帯電話のブラウザでは、どのみち完全なPC向けWebサイト対応は期待されていないのだから、この際思い切って、document.cookie機能を搭載しないでおいたらどうか。「セキュリティを重視して危ない機能は排除した」と主張すればよい。
一部の掲示板等でdocument.cookieが使われている(cookieで覚えさせたハンドルやメールアドレスを名前欄、E-mail欄に表示するため)が、JavaScriptを使わなくともCGI側で同じことを実現できるのだから、こんな機能はなくなってもかまわないはずだ。