おかしなことになる。
パスワード学習させたフォームを利用すると、ドコモのサイトがおかしくなった。
ブラウザが記憶しているフォーム値を自動補完すると、スクリプト側からは読めない。
ブラウザのパスワード自動入力機能で保管されたパスワードをJSで読み取るのは不可能になっている。サイトスクリプト側へのShadow Domなのでパスワードは保護されて見えない。値の読み取りは不可能になる。その分安全になる。
この理由で、ドコモのスクリプトは入力されたパスワードを拾えない。
なので、入力があるのに、私はパスワード空白チェックを通れない。
当たり前ですよね。Scriptタグは任意ドメインから読み込み可能なので、jQuery.com が乗っ取られた時に <script src='http://jquery.com/xxx /> とか書いてたらパスワードを丸見えになるもんね。
空白チェックをスクリプトでやることが無意味。
こういうブラウザ側のセキュリティ対策を無意味化するような無駄なパスワードチェックって本当に有害であって、セキュリティ対策上は有名無実だと思うんですけど。
てか ajax で、別ドメインにパスワード送るのなんか気持ち悪い。
なぜ、こんなことになるのか、それはフォーム値をAjax送信するためだ。Ajaxで別ドメインに送信するために、入力パスワードを読みだしている.
ドコモさんは、ログインフォームの内容をAjaxで送信して、Cookieを貰ってそれからリダイレクトするってIceWallを使って実現してるらしい。ログインフォームの中身をAjaxで Post するとかちょっとありえないよね。。。
ログイン情報のajax post が「当たり前」として扱われる時代になったのかな。。しかし、ajax のクロスオリジンポリシは「データ送信後」にヘッダチェックするじゃん?なので、actionを書き換えると通信データが漏洩するのではないでしょうか。webkitの拡張機能がDOMを仮想化して守ってるのに、通信部で第三者にパスワードを送信できるのはないか。form のaction の書き換えがあってもページ遷移するから気づく可能性が高いがAjaxはそうも行かないだろう
セキュリティ上アレコレやりたいのはわかるけど、ブラウザの標準機能を上書きしたりHTTP通信をこねくり回したログイン構成は、却って問題を引き起こす可能性があるので。私は大嫌いです。