- - PR -
i-modeアクセスでBase-64エラー
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-10-21 10:29
5項目あってViewState文字列が20文字程度しかないということは、入力項目のname属性の値は1文字程度で、初期表示時には入力項目は空で、サーバコントロールとしてのラベルも存在しないということですよね?
20文字程度ではいくらi-mode端末でも正常に扱えるはず・・・。 User-Agent文字列を変更できるブラウザ(BugBrowserとか)を使い、偽装i-mode端末をつくってアクセスしてみたらどうなるでしょう? |
|
投稿日時: 2003-10-21 11:11
Gordieさん、ありがとうございます。
>User-Agent文字列を変更できるブラウザ(BugBrowserとか) BugBrowserって、 http://www.kit.hi-ho.ne.jp/tomo-sg/ のことでしょうか?ダウンロードして、設定項目とか探したのですが、User-Agent文字列の変更方法とかがわかりません。 |
|
投稿日時: 2003-10-21 11:37
設定 - BugBrowserの設定 の、InternetExplorer特殊 というタブに、UserAgentというコンボボックスがあると思います。ここの値を書き換えて、BugBrowserを再起動すれば偽装i-mode端末になります。
|
|
投稿日時: 2003-10-21 12:42
Gordieさん、ありがとうございます。
i-modeのUserAgentって、以下のページに書かれているものを、そのまま入れれば良いんですよね。 http://www.nttdocomo.co.jp/p_s/imode/spec/useragent.html 例えば、P504iだったら、「DoCoMo/1.0/P504i/c10/TB」。 やってみました。確かにカレンダー表示のところがi-modeからアクセスしたのと同じような画面(例:カレンダー1ヶ月表示がされない)に変わりました。BugBrowserで、その状態で試した限りは問題のエラーは出ません。 実は、ファイアウォール側の作業とセキュリティパッチ適用時間には半日程の時間のずれがあり、ユーザを追跡調査したところ、トラブルはファイアウォール側の作業後に起こっている可能性が高くなってきました。 ファイアウォールと言っても、単なるファイアウォールでなく、セキュリティのための認証などいくつかの事をやっています。トラブル対処のため、モジュールの入れ替えなどを行っているようで、パッチのバージョンも違うようなのです。今、担当者に元の環境に戻してくれるように依頼中です。 BugBrowserでの偽装が完璧であるなら、BugBrowserの偽装i-mode端末でエラーが出ず、ファイアウォールの外の実際のi-mode端末だけでエラーが出るということは、やはりファイアウォールを疑う必要がありますよね。 BugBrowserが、今後の障害切り分けに役立ちそうです。 |
|
投稿日時: 2003-10-21 13:31
BugBrowserのコアはIEで、User-Agent文字列を変更することはできますがi-mode端末の動きをエミュレートするわけではありません。サーバに対して「おれおれ、おれだよ」とi-mode端末を装って、i-mode用の応答データを振り込ませるだけです あくまで「偽装」ですから。
では偽装i-mode端末でアクセスすることで何がわかるかというと、プログラムの問題ではないということと、サーバがi-mode端末に対してどのようなHTMLコードを返しているかがわかるということです。 サーバがi-mode端末に返しているHTMLコードがわかるということは、(IEではなく)i-mode端末が受け取っているViewState文字列がわかるということですので、BugBrowserでソースの表示を行なってみて、特段大きなViewState文字列が出ていないようであればファイアウォールが何か悪さをしているのではないかということが言えます。 |
|
投稿日時: 2003-10-21 14:05
ファイアウォールのパッチを元のバージョンに戻してもらったところ、復旧しました。
Gordieさん、重ね重ねのアドバイスありがとうございました。 BugBrowserの存在や、UserAgentを変えての検証など、今後も役に立ちそうです。 [ メッセージ編集済み 編集者: Kondo 編集日時 2003-10-21 14:07 ] |
|
投稿日時: 2006-02-24 12:41
ずいぶん遅いレスですが・・・
ドコモが提供している、iモードHTMLブラウザですが、バグがあるようです。 POSTデータの中にある「+」を「 」に変換してサーバにPOSTしているようです。 たとえば、テキストボックス内に「123+456」と入力してPOSTすると サーバには「123 456」と通知されます。 hiddenで記述されているVIEWSTATEも同じ事が言えます。 VIEWSTATE内に「+」が存在していた場合、「 」に変換され、デコードできなくなりこのエラーが発生するようです。 ただし、iモードHTMLブラウザUではこの問題は直っているようです。 |
|
投稿日時: 2007-05-17 16:33
>ドコモが提供している、iモードHTMLブラウザですが、バグがあるようです。
マイクロソフトにインシデントを使って確認しました。 マイクロソフトからはviewstateをセッション変数に格納する 方法を提案されました。 こちらはこれでシミュレータ、実機ともにエラーは出なくなりました。 |