JP2008186160A - 文書表示装置およびプログラム - Google Patents
文書表示装置およびプログラム Download PDFInfo
- Publication number
- JP2008186160A JP2008186160A JP2007018034A JP2007018034A JP2008186160A JP 2008186160 A JP2008186160 A JP 2008186160A JP 2007018034 A JP2007018034 A JP 2007018034A JP 2007018034 A JP2007018034 A JP 2007018034A JP 2008186160 A JP2008186160 A JP 2008186160A
- Authority
- JP
- Japan
- Prior art keywords
- server
- response
- script
- document
- acquisition request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013515 script Methods 0.000 claims abstract description 129
- 230000004044 response Effects 0.000 claims abstract description 95
- 238000004891 communication Methods 0.000 claims abstract description 65
- 230000005540 biological transmission Effects 0.000 claims description 68
- 230000006870 function Effects 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 15
- 238000000034 method Methods 0.000 description 59
- 230000008859 change Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Document Processing Apparatus (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】HTML等で記述された構造化文書を表示する文書表示装置において、安全性および利便性を向上させる。
【解決手段】ウェブサーバ20と、このウェブサーバ20から文書ファイルを取得して表示するウェブブラウザ10を備え、このウェブブラウザ10は、ローカルホストのウェブサーバ20または外部装置のウェブサーバに文書ファイルの取得要求を送信し、この取得要求に対する応答を受信する通信部11と、受信された応答に含まれる文書ファイルに記述されているスクリプトを実行するインタープリタ14と、応答の送信元のサーバを特定し、特定されたサーバに応じてスクリプトの実行を制御するブラウザ制御部16とを備える。そして、応答の送信元が外部装置のサーバである場合、ブラウザ制御部16は、スクリプトの実行を制限する。
【選択図】図3
【解決手段】ウェブサーバ20と、このウェブサーバ20から文書ファイルを取得して表示するウェブブラウザ10を備え、このウェブブラウザ10は、ローカルホストのウェブサーバ20または外部装置のウェブサーバに文書ファイルの取得要求を送信し、この取得要求に対する応答を受信する通信部11と、受信された応答に含まれる文書ファイルに記述されているスクリプトを実行するインタープリタ14と、応答の送信元のサーバを特定し、特定されたサーバに応じてスクリプトの実行を制御するブラウザ制御部16とを備える。そして、応答の送信元が外部装置のサーバである場合、ブラウザ制御部16は、スクリプトの実行を制限する。
【選択図】図3
Description
本発明は、HTML(HyperText Markup Language)等で記述された構造化文書を表示するブラウザ機能を有する文書表示装置に関する。
いわゆるオフィスオートメーション(OA)機器や家庭用電化製品、携帯電話やPDA(Personal Digital Assistants)等の情報機器において、状態表示や各種の設定を行うための表示を、ウェブ(Web)ブラウザを用いて行うものがある(例えば、特許文献1、2参照)。ウェブブラウザは、WWW(World Wide Web)で用いられるHTML等のマークアップ言語で記述された構造化文書を表示する文書ブラウザである。
ウェブブラウザは、表示する文書に記述された内容に応じて、テキストやコマンド等の入力を受け付けたり、サーバへ要求を送信したりする機能を有する。そこで、ウェブブラウザのかかる機能を利用して、上記のような各種の機器において、ウェブブラウザで表示される画面により操作パネルを代替することが行われている。
また、この種の構造化文書には、JavaScript(米国サン・マイクロシステムズ社の商標)に代表されるスクリプトを記述することができる。ウェブブラウザは、構造化文書を表示する際に、構造化文書に記述されているスクリプトを実行する。そのため、構造化文書にスクリプトを記述することにより、ウェブブラウザにて表示されるページに動的な機能を与えることができる。
本発明は、HTML等で記述された構造化文書を表示する文書表示装置において、安全性および利便性を向上させることを目的とする。
上記の目的を達成するため、本発明は次のような文書表示装置として実現される。この装置は、文書ファイルを提供するサーバと、このサーバから文書ファイルを取得して表示装置に表示させるブラウザを備え、このブラウザは、装置内のサーバまたは外部装置のサーバに文書ファイルの取得要求を送信し、この取得要求に対する応答を受信する通信手段と、この通信手段により受信された応答に含まれる文書ファイルを解析して文書ファイルに記述されているスクリプトを抽出し実行するスクリプト実行手段と、取得要求または通信手段により受信された応答に基づいて応答の送信元のサーバを特定し、特定されたサーバに応じてスクリプト実行手段によるスクリプトの実行を制御する制御手段とを備える。
ここで、より詳細には、制御手段は、応答の送信元が装置内のサーバか外部装置のサーバかを識別し、応答の送信元が外部装置のサーバである場合は、スクリプト実行手段によるスクリプトの実行を制限する。
また、制御手段は、取得要求のヘッダまたは応答のヘッダに含まれる情報であってサーバを特定する識別情報のリストを有し、文書ファイルの取得要求の送信先または応答の送信元であるサーバの識別情報がリストに登録されていない場合は、スクリプト実行手段によるスクリプトの実行を制限する。
また、制御手段は、取得要求のヘッダまたは応答のヘッダに含まれる情報であってサーバを特定する識別情報のリストを有し、文書ファイルの取得要求の送信先または応答の送信元であるサーバの識別情報がリストに登録されていない場合は、スクリプト実行手段によるスクリプトの実行を制限する。
さらに詳細には、制御手段は、スクリプトの実行制限として、スクリプトにより要求されるデータの送信を行わない。
また、制御手段は、スクリプトの実行制限として、取得した文書ファイルから外部参照されているスクリプトの参照または実行を行わない。
また、制御手段は、スクリプトの実行制限として、取得した文書ファイルから外部参照されているスクリプトの参照または実行を行わない。
また好ましくは、この文書表示装置のサーバは、装置内のブラウザまたは外部装置のブラウザから文書ファイルの取得要求を受信し、この取得要求に対する応答を送信する通信手段と、文書ファイルが保持される記憶装置から通信手段により受信された取得要求に対応する文書ファイルを取得する文書取得手段と、応答または通信手段により受信された取得要求に基づいて応答の送信先であるブラウザを特定し、特定されたブラウザに応じて文書取得手段により取得された文書ファイルの記述を編集する編集手段とを備える。
また本発明の他の文書表示装置は、サーバに文書ファイルの取得要求を送信し、この取得要求に対する応答を受信する通信手段と、この通信手段により受信された応答に含まれる文書ファイルを解析して表示装置に表示させる表示手段と、通信手段により受信された応答に含まれる文書ファイルを解析して文書ファイルに記述されているスクリプトを抽出し実行するスクリプト実行手段と、取得要求または通信手段により受信された応答に基づいて応答の送信元のサーバがローカルホストに存在するサーバか否かを識別し、ローカルホストに存在するサーバでない場合は、スクリプト実行手段によるスクリプトの実行を制限する制御手段とを備える。
また、好ましくは、制御手段は、取得要求のヘッダまたは応答のヘッダに含まれる情報であってサーバを特定する識別情報のリストを有し、文書ファイルの取得要求の送信先または応答の送信元であるサーバの識別情報がリストに登録されている場合は、サーバがローカルホストに存在するサーバでない場合であっても、スクリプト実行手段によるスクリプトの実行制限を解除する。
また本発明は、コンピュータを、文書ファイルを提供するサーバ手段と、このサーバ手段または外部装置のサーバに文書ファイルの取得要求を送信し、この取得要求に対する応答を受信する通信手段と、この通信手段により受信された応答に含まれる文書ファイルを解析して表示装置に表示させる表示手段と、通信手段により受信された応答に含まれる文書ファイルを解析して文書ファイルに記述されているスクリプトを抽出し実行するスクリプト実行手段と、取得要求または通信手段により受信された応答に基づいて応答の送信元を識別し、識別された応答の送信元に応じてスクリプト実行手段によるスクリプトの実行を制御する制御手段として機能させることを特徴とするプログラムとしても実現される。
このプログラムは、より詳細には、制御手段の機能として、応答の送信元がサーバ手段か外部装置のサーバかを識別し、応答の送信元が外部装置のサーバである場合は、スクリプト実行手段によるスクリプトの実行を制限する処理をコンピュータに実行させる。
また、制御手段の機能として、取得要求のヘッダまたは応答のヘッダに含まれる情報であってサーバを特定する識別情報のリストを参照し、文書ファイルの取得要求の送信先または応答の送信元であるサーバの識別情報がリストに登録されていない場合は、スクリプト実行手段によるスクリプトの実行を制限する処理をコンピュータに実行させる。
また、制御手段の機能として、取得要求のヘッダまたは応答のヘッダに含まれる情報であってサーバを特定する識別情報のリストを参照し、文書ファイルの取得要求の送信先または応答の送信元であるサーバの識別情報がリストに登録されていない場合は、スクリプト実行手段によるスクリプトの実行を制限する処理をコンピュータに実行させる。
さらにまた本発明は、コンピュータを、サーバに文書ファイルの取得要求を送信し、この取得要求に対する応答を受信する通信手段と、この通信手段により受信された応答に含まれる文書ファイルを解析して表示装置に表示させる表示手段と、通信手段により受信された応答に含まれる文書ファイルを解析して文書ファイルに記述されているスクリプトを抽出し実行するスクリプト実行手段と、取得要求または通信手段により受信された応答に基づいて応答の送信元のサーバがローカルホストに存在するサーバか否かを識別し、ローカルホストに存在するサーバでない場合は、スクリプト実行手段によるスクリプトの実行を制限する制御手段として機能させることを特徴とするプログラムとしても実現される。
このプログラムは、より詳細には、制御手段の機能として、取得要求のヘッダまたは応答のヘッダに含まれる情報であってサーバを特定する識別情報のリストを参照し、文書ファイルの取得要求の送信先または応答の送信元であるサーバの識別情報がリストに登録されている場合は、サーバがローカルホストに存在するサーバでない場合であっても、スクリプト実行手段によるスクリプトの実行制限を解除する。
請求項1に係る発明によれば、取得したHTML文書の送信元のサーバを識別してスクリプトの実行を制御し、スクリプトの実行における安全性を確保し、かつスクリプトの互換性を担保して利便性を高めることができる。
請求項2に係る発明によれば、装置内のサーバとブラウザとの組み合わせによって、装置の操作および情報表示を提供する装置において、そのような操作および情報表示に関してはスクリプトの機能を網羅的に活用した高度な操作および情報表示を提供する一方で、外部装置のサーバから取得したHTML文書に対してはスクリプトの実行を制限し、安全性を高めることができる。
請求項3に係る発明によれば、リストに登録されたサーバ以外のサーバから取得したHTML文書に対してはスクリプトの実行を制限し、安全性および利便性を高めることができる。
請求項4に係る発明によれば、スクリプトにより要求されるデータの送信を制限して安全性を高めることができる。
請求項5に係る発明によれば、文書ファイルから外部参照されているスクリプトの参照または実行を制限して安全性を高めることができる。
請求項6に係る発明によれば、HTML文書の送信先のブラウザを識別してHTML文書を編集し、スクリプトの互換性を担保して利便性を高めることができる。
請求項7に係る発明によれば、取得したHTML文書の送信元のサーバがローカルホストに存在するサーバでない場合はスクリプトの実行を制限し、スクリプトの実行における安全性を確保し、かつスクリプトの互換性を担保して利便性を高めることができる。
請求項8に係る発明によれば、リストに登録された特定のサーバから取得したHTML文書に対してはスクリプトの実行制限を解除することで、より柔軟で利便性の高いシステムを構築できる。
請求項9に係る発明によれば、このプログラムを実装したコンピュータにおいて、取得したHTML文書の送信元のサーバを識別してスクリプトの実行を制御し、スクリプトの実行における安全性を確保し、かつスクリプトの互換性を担保して利便性を高めることができる。
請求項10に係る発明によれば、このプログラムを実装したコンピュータにおいて、外部装置のサーバから取得したHTML文書に対してはスクリプトの実行を制限し、安全性および利便性を高めることができる。
請求項11に係る発明によれば、このプログラムを実装したコンピュータにおいて、リストに登録されたサーバ以外のサーバから取得したHTML文書に対してはスクリプトの実行を制限し、安全性を高めることができる。
請求項12に係る発明によれば、このプログラムを実装したコンピュータにおいて、取得したHTML文書の送信元のサーバがローカルホストに存在するサーバでない場合はスクリプトの実行を制限し、スクリプトの実行における安全性を確保し、かつスクリプトの互換性を担保して利便性を高めることができる。
請求項13に係る発明によれば、このプログラムを実装したコンピュータにおいて、リストに登録された特定のサーバから取得したHTML文書に対してはスクリプトの実行制限を解除することで、より柔軟で利便性の高いシステムを構築できる。
請求項2に係る発明によれば、装置内のサーバとブラウザとの組み合わせによって、装置の操作および情報表示を提供する装置において、そのような操作および情報表示に関してはスクリプトの機能を網羅的に活用した高度な操作および情報表示を提供する一方で、外部装置のサーバから取得したHTML文書に対してはスクリプトの実行を制限し、安全性を高めることができる。
請求項3に係る発明によれば、リストに登録されたサーバ以外のサーバから取得したHTML文書に対してはスクリプトの実行を制限し、安全性および利便性を高めることができる。
請求項4に係る発明によれば、スクリプトにより要求されるデータの送信を制限して安全性を高めることができる。
請求項5に係る発明によれば、文書ファイルから外部参照されているスクリプトの参照または実行を制限して安全性を高めることができる。
請求項6に係る発明によれば、HTML文書の送信先のブラウザを識別してHTML文書を編集し、スクリプトの互換性を担保して利便性を高めることができる。
請求項7に係る発明によれば、取得したHTML文書の送信元のサーバがローカルホストに存在するサーバでない場合はスクリプトの実行を制限し、スクリプトの実行における安全性を確保し、かつスクリプトの互換性を担保して利便性を高めることができる。
請求項8に係る発明によれば、リストに登録された特定のサーバから取得したHTML文書に対してはスクリプトの実行制限を解除することで、より柔軟で利便性の高いシステムを構築できる。
請求項9に係る発明によれば、このプログラムを実装したコンピュータにおいて、取得したHTML文書の送信元のサーバを識別してスクリプトの実行を制御し、スクリプトの実行における安全性を確保し、かつスクリプトの互換性を担保して利便性を高めることができる。
請求項10に係る発明によれば、このプログラムを実装したコンピュータにおいて、外部装置のサーバから取得したHTML文書に対してはスクリプトの実行を制限し、安全性および利便性を高めることができる。
請求項11に係る発明によれば、このプログラムを実装したコンピュータにおいて、リストに登録されたサーバ以外のサーバから取得したHTML文書に対してはスクリプトの実行を制限し、安全性を高めることができる。
請求項12に係る発明によれば、このプログラムを実装したコンピュータにおいて、取得したHTML文書の送信元のサーバがローカルホストに存在するサーバでない場合はスクリプトの実行を制限し、スクリプトの実行における安全性を確保し、かつスクリプトの互換性を担保して利便性を高めることができる。
請求項13に係る発明によれば、このプログラムを実装したコンピュータにおいて、リストに登録された特定のサーバから取得したHTML文書に対してはスクリプトの実行制限を解除することで、より柔軟で利便性の高いシステムを構築できる。
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、実施形態)について詳細に説明する。
本実施形態の文書表示装置は、各種のOA機器や家庭用電化製品、情報機器等に適用し得るものであるが、以下ではプリンタに適用した場合を例として説明する。なお、本実施形態の文書表示装置の処理対象となる文書の形態には、テキスト、イメージ、プログラム等の種々のデータが含まれる。
本実施形態の文書表示装置は、各種のOA機器や家庭用電化製品、情報機器等に適用し得るものであるが、以下ではプリンタに適用した場合を例として説明する。なお、本実施形態の文書表示装置の処理対象となる文書の形態には、テキスト、イメージ、プログラム等の種々のデータが含まれる。
図1は、本実施形態が適用されるプリンタのハードウェア構成例を示す図である。
図1に示すプリンタ100は、印刷出力を行うための印刷機構110と印刷機構110による印刷処理やその他プリンタ100の動作を制御するための制御装置120とを備える。また、記憶手段である磁気ディスク装置130と、表示手段であるディスプレイ装置140と、入力手段であるタッチパネル150と、外部装置との通信手段であるネットワークインターフェイス160を備える。なお、特に図示しないが、プリンタ100がスキャナ機能やファックス機能を備えたいわゆる複合機である場合は、画像を取り込むための機構や電話回線を通じて画像の送受信を行うための構成がさらに設けられる。
図1に示すプリンタ100は、印刷出力を行うための印刷機構110と印刷機構110による印刷処理やその他プリンタ100の動作を制御するための制御装置120とを備える。また、記憶手段である磁気ディスク装置130と、表示手段であるディスプレイ装置140と、入力手段であるタッチパネル150と、外部装置との通信手段であるネットワークインターフェイス160を備える。なお、特に図示しないが、プリンタ100がスキャナ機能やファックス機能を備えたいわゆる複合機である場合は、画像を取り込むための機構や電話回線を通じて画像の送受信を行うための構成がさらに設けられる。
印刷機構110は、印刷対象である画像等を用紙上に形成して出力するための構成であり、印刷対象の画像等をトナー等の画像形成材によって用紙上に形成する画像形成手段と、用紙を搬送して画像形成後に排出する搬送手段とを備える。画像形成手段による画像形成の方式は、電子写真方式やインクジェット方式、静電誘導方式等、どのような方式であっても良い。
制御装置120は、例えばプログラム制御されたCPUとRAM、ROM等のメモリとで実現される。プログラムは例えば不揮発性のメモリであるROMにインストールされており、CPUがこのプログラムをROMから読み込んで実行することによりプリンタ100の動作が制御される。この制御部120は、印刷機構110の動作を制御して印刷対象の印刷出力を実行させる他、磁気ディスク装置130に対するデータの書き込みや読み出し、ディスプレイ装置140への表示、タッチパネル150による操作の受け付け、ネットワークインターフェイス160を介して行う外部装置との間のデータ交換等の動作の制御を行う。
磁気ディスク装置130には、制御装置120がプリンタ100の動作制御を行う際に用いられる各種の設定情報やテスト印刷用のパターン画像、ディスプレイ装置140に表示される画像等が保持されている。また、外部装置とネットワーク接続される場合に用いられるネットワーク設定の情報、ファックス機能において電話回線による接続を行う際に用いられる電話番号、印刷出力の実行枚数のカウンタ情報などの情報が適宜保持される。
ディスプレイ装置140は、例えば液晶ディスプレイ(LCD)にて実現される。このディスプレイ装置140は、プリンタ100の動作状態や印刷ジョブの条件、どの機能が使用可能かといった情報を表示して操作者に通知する。また、入力手段であるタッチパネル150と組み合わせて、コンソールとしても用いられる。
タッチパネル150は、ディスプレイ装置140の表示面に貼り付けられた状態で設置されている。このタッチパネル150では、操作者がパネル面に触れると、その座標を入力とみなし、ディスプレイ装置140に表示されている表示画像のどの部分が指示されたのかを判断し制御装置120へ通知する。ディスプレイ装置140の表示画像が切り替わることにより、タッチパネル150に対する操作が同じでも異なる入力として受け付けられる。なお、プリンタ100の入力手段としては、入力キーを配した操作パネルを設け、タッチパネル150と併せて用いるようにしても良い。
ネットワークインターフェイス160は、LAN(Local Area Network)やインターネット等のネットワークに接続し、外部装置から印刷要求や印刷対象のデータを受信する。また、遠隔からの保守作業において命令やデータを受信したり、収集したデータを送信したりする。さらに、プリンタ100がスキャナ機能を有する場合は、取り込んだ画像のデータを外部装置に送信する。
図2は、本実施形態のプリンタ100の機能構成を示す図である。
図2に示すように、本実施形態のプリンタ100は、ウェブブラウザ10と、ウェブサーバ20とを備える。すなわち、装置内部にウェブブラウザとウェブサーバの両方の機能の実現手段を持つ。これらの機能は、例えば図1の制御装置120により実現される。すなわち上述したように、ROM等の不揮発性メモリに保持されているプログラムにしたがってCPUが処理を実行することにより実現される。
図2に示すように、本実施形態のプリンタ100は、ウェブブラウザ10と、ウェブサーバ20とを備える。すなわち、装置内部にウェブブラウザとウェブサーバの両方の機能の実現手段を持つ。これらの機能は、例えば図1の制御装置120により実現される。すなわち上述したように、ROM等の不揮発性メモリに保持されているプログラムにしたがってCPUが処理を実行することにより実現される。
本実施形態のプリンタ100の操作パネルの表示は、ウェブブラウザ10によって行われる。ウェブブラウザ10が、ウェブサーバ20に要求を送信すると、ウェブサーバ20はこれを受信し、HTML文書を生成してウェブブラウザ10に応答する。ウェブブラウザ10はウェブサーバ20から送信されたHTMLを操作パネルに表示する。ハードウェア構成としては、制御装置120、磁気ディスク装置130、ディスプレイ装置140およびタッチパネル150により文書表示装置が実現されることとなる。HTMLはJavaScript等のスクリプトを含んでも良いし、CSS(Cascadin Style Sheet)等のスタイルシートを含んでも良い。または、HTMLの代わりにXML(Extensible Markup Language)やXHTML(XML文法のHTML)であっても良い。
プリンタ100の内部ブラウザであるウェブブラウザ10は、磁気ディスク装置130から設定情報を読み出し、この情報にしたがって動作する。例えば、プリンタ100の電源が投入されると、ウェブブラウザ10は、取得した設定情報から電源投入後最初に表示するHTML文書のURLを得る。そしてウェブブラウザ10は、TCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルにしたがってウェブサーバ20にHTML文書の取得要求(ウェブリクエスト)を送信し、その応答(ウェブレスポンス)としてウェブサーバ20から送信されたHTML文書を受信してディスプレイ装置140に表示する。また、ウェブブラウザ10は、タッチパネル150による入力を受け付け、表示された文書中のハイパーリンクが選択された場合に、そのハイパーリンクが示すHTML文書の取得要求をウェブサーバ20へ送信する。また、ウェブブラウザ10は、TCP/IPプロトコルにしたがい、ネットワークインターフェイス160を介して外部装置と通信する。そして、通信相手のウェブサーバ(ウェブサーバ20または外部のウェブサーバ)によっては、取得したHTML文書の実行処理を適宜変更する。
プリンタ100の内部サーバであるウェブサーバ20は、TCP/IPプロトコルにしたがって、HTTPによる命令やHTML文書の送受信を行う。そして、ウェブブラウザ10からの要求に応じて、磁気ディスク装置130に保持されている入力画面のHTML文書の中から当該要求に対応するHTML文書を読み出し、ウェブブラウザ10へ返送する。また、ウェブサーバ20は、TCP/IPプロトコルにしたがい、ネットワークインターフェイス160を介して外部装置と通信する。そして、HTTPによる要求の種類や要求の発行元であるウェブブラウザ(ウェブブラウザ10または外部のウェブブラウザ)によっては、HTML文書を編集して送信する。
図3は、ウェブブラウザ10の詳細な機能構成を示す図である。
図3に示すように、ウェブブラウザ10は、通信部11と、パーズ部12と、実行部13と、インタープリタ14と、描画部15と、ブラウザ制御部16とを備える。
通信部11は、TCP/IPプロトコルにしたがってウェブサーバ(ウェブサーバ20または外部のウェブサーバ)と通信する。通信部11は、HTML文書の取得要求を送信し、この取得要求に対する応答を受信するための通信手段である。
図3に示すように、ウェブブラウザ10は、通信部11と、パーズ部12と、実行部13と、インタープリタ14と、描画部15と、ブラウザ制御部16とを備える。
通信部11は、TCP/IPプロトコルにしたがってウェブサーバ(ウェブサーバ20または外部のウェブサーバ)と通信する。通信部11は、HTML文書の取得要求を送信し、この取得要求に対する応答を受信するための通信手段である。
パーズ部12は、通信部11を介して取得したHTML文書を解析し、DOM(Document Object Model)を生成する。DOMとは、XML文書の内部情報(木構造を形成する)を操作するAPIである。取得したHTML文書がXHTMLによる文書である場合は、文書からそのままDOMが生成される。一方、取得したHTML文書が通常の(SGML文法の)HTML文書である場合は、クローズタグの省略等がされている場合があるので、省略されたクローズタグを補完等の必要な補正を行ってからDOMを生成する。
実行部13は、パーズ部12により生成されたDOMに基づいて、HTML文書の記述を解析し実行する。HTML文書にJavaScript等のスクリプトが記述されている場合は、そのスクリプトをインタープリタ14に渡す。その他の記述については、描画部15に渡して描画させる。
インタープリタ14は、実行部13から受け取ったスクリプトを実行する。スクリプトの内容にしたがって、DOMを変更したり、通信部11を介してウェブサーバ(ウェブサーバ20または外部のウェブサーバ)と通信したりする。
描画部15は、実行部13から受け取ったHTML文書をレンダリングし、テキストや画像をディスプレイ装置140に表示する。
インタープリタ14は、実行部13から受け取ったスクリプトを実行する。スクリプトの内容にしたがって、DOMを変更したり、通信部11を介してウェブサーバ(ウェブサーバ20または外部のウェブサーバ)と通信したりする。
描画部15は、実行部13から受け取ったHTML文書をレンダリングし、テキストや画像をディスプレイ装置140に表示する。
パーズ部12、実行部13およびインタープリタ14は、HTML文書に記述されたスクリプトを実行するためのスクリプト実行手段として機能する。また、パーズ部12、実行部13および描画部15は、HTML文書を表示するための表示手段として機能する。
ブラウザ制御部16は、HTML文書の取得要求または通信部11を介して取得したHTML文書を含む応答から当該HTML文書の送信元であるウェブサーバ(ウェブサーバ20または外部のウェブサーバ)を特定する。そして、特定されたウェブサーバに応じて通信部11およびパーズ部12の処理を制御し、スクリプトの実行による通信を制限したり、HTML文書の解析処理においてスクリプトを無視させたりする。このブラウザ制御部16は、HTML文書に記述されたスクリプトの実行を制御するための制御手段である。その制御の詳細な内容については後述する。
図4は、ウェブサーバ20の詳細な機能構成を示す図である。
図4に示すように、ウェブサーバ20は、通信部21と、文書取得部22と、編集部23とを備える。
通信部21は、TCP/IPプロトコルにしたがってウェブブラウザ(ウェブブラウザ10または外部のウェブブラウザ)と通信する。通信部21は、HTML文書の取得要求を受信し、この取得要求に対する応答を送信するための通信手段である。
文書取得部22は、通信部21を介して受け付けた要求に応じて磁気ディスク装置130にアクセスし、要求において指定されたHTML文書を検索して取得する文書取得手段である。
図4に示すように、ウェブサーバ20は、通信部21と、文書取得部22と、編集部23とを備える。
通信部21は、TCP/IPプロトコルにしたがってウェブブラウザ(ウェブブラウザ10または外部のウェブブラウザ)と通信する。通信部21は、HTML文書の取得要求を受信し、この取得要求に対する応答を送信するための通信手段である。
文書取得部22は、通信部21を介して受け付けた要求に応じて磁気ディスク装置130にアクセスし、要求において指定されたHTML文書を検索して取得する文書取得手段である。
編集部23は、通信部21を介して受け付けた要求から当該HTML文書の送信先であるウェブブラウザ(ウェブブラウザ10または外部のウェブブラウザ)を特定する。そして、特定されたウェブブラウザに応じてHTML文書を編集する。この編集部23は、HTML文書の送信先であるウェブブラウザに応じてHTML文書を編集する編集手段である。その編集の詳細な内容については後述する。
ところで、本実施形態では、ウェブブラウザ10およびウェブサーバ20とも外部装置に接続できることとした。そのため、ウェブブラウザ10は、外部のウェブサーバから送信されたHTML文書を受信して実行する場合がある。同様に、ウェブサーバ20は、外部のウェブブラウザ10から要求を受け付けてHTML文書を送信する場合がある。
ウェブブラウザ10が外部のウェブサーバから送信されたHTML文書を実行する場合、スクリプトを実行する上で安全性と互換性を考慮する必要がある。HTML文書は、スクリプトを記載することにより、ウェブブラウザ10で読み取られたときに動的な処理を実行させることができる。したがって、取得したHTML文書を無条件にそのまま実行すると、プリンタ100にとって問題のある処理を実行する危険がある。例えば、障害発生の原因となる処理を行う、そのような障害発生の原因となるプログラムをダウンロードする、磁気ディスク装置130に保持されている利用者情報を許可なく送信したりするといった処理である。
近年では、ウェブブラウザを使ったユーザインターフェイス技術としてAjax(Asynchronous JavaScript + XML)と呼ばれる技術が普及している。これは、ウェブブラウザに実装されているJavaScriptのHTTP通信機能を使って、非同期的にウェブサーバとの間で通信を行い、画面全体のリフレッシュ(再描画)を伴わずに、動的に画面の書き換えを行う技術である。このAjaxを用いれば、本実施形態でウェブブラウザ10により表示される入力画面のような、HTML文書に基づいて描画される画面の操作性が大幅に向上する。しかし、Ajaxでは、JavaScriptが自動的に実行されるために安全性の確保が困難である。
また、スクリプトで使用可能な命令は、ウェブブラウザの種類(メーカの別)によって異なっていることが多い。そのため、種々のウェブブラウザで実行できるように互換性を考慮して記述されていないスクリプトは、ウェブブラウザ10が正しく実行できない可能性がある。
そこで、本実施形態のウェブブラウザ10は、ブラウザ制御部16の制御により、HTML文書の送信元として特定されたウェブサーバに応じて、当該HTML文書の実行処理を変更する。これにより、JavaScriptの実行における安全性を確保し、かつJavaScriptの互換性を担保して利便性を高める。
一方、ウェブサーバ20が外部のウェブブラウザに対してHTML文書を送信する場合、ウェブブラウザ10が外部のウェブサーバと通信するときのような安全性の問題はないが、スクリプトの互換性については同様に考慮する必要がある。
そこで、本実施形態のウェブサーバ20は、文書取得部22により取得されたHTML文書を、編集部23により当該HTML文書の送信先として特定されたウェブブラウザに応じて編集し、互換性を高めて送信する。これにより、JavaScriptの互換性を担保して利便性を高める。
なお、ウェブブラウザ10とウェブサーバ20は、共にプリンタ100を構成する(ローカルホストに存在する)ことから、HTML文書のやり取りにおいて安全性および互換性を考慮する必要はない。ウェブサーバ20から送信されたHTML文書にスクリプトが記述されている場合、ウェブブラウザ10はこのスクリプトを正しく実行して高度な機能や操作性を提供することができ、またウェブブラウザ10がこのスクリプトを実行してもプリンタ100にとって問題となる処理とならないことが保証されているものとする。
以下、ウェブブラウザ10およびウェブサーバ20の動作を説明する。
まず、ウェブブラウザ10の動作について説明する。上述したように、ウェブブラウザ10は、HTML文書の送信元であるウェブサーバに応じて、HTML文書に記述されたスクリプトの実行を制御する。スクリプトの実行を制御する手法としては、スクリプトを実行する処理そのものを変更する(実行しない、他の処理に切り替える等)手法とスクリプトの要求による通信を制御する(通信しない、要求内容を変更する等)手法とが考えられる。
まず、ウェブブラウザ10の動作について説明する。上述したように、ウェブブラウザ10は、HTML文書の送信元であるウェブサーバに応じて、HTML文書に記述されたスクリプトの実行を制御する。スクリプトの実行を制御する手法としては、スクリプトを実行する処理そのものを変更する(実行しない、他の処理に切り替える等)手法とスクリプトの要求による通信を制御する(通信しない、要求内容を変更する等)手法とが考えられる。
図5は、スクリプトを実行する処理そのものを変更する手法を実施する場合のウェブブラウザ10の動作を説明するフローチャートである。
図5に示すように、ウェブブラウザ10の通信部11がウェブサーバ(ウェブサーバ20または外部のウェブサーバ)への要求に対する応答としてHTML文書を受信すると(ステップ501)、ブラウザ制御部16がこの応答に基づいてHTML文書の送信元のウェブサーバを特定する(ステップ502)。
図5に示すように、ウェブブラウザ10の通信部11がウェブサーバ(ウェブサーバ20または外部のウェブサーバ)への要求に対する応答としてHTML文書を受信すると(ステップ501)、ブラウザ制御部16がこの応答に基づいてHTML文書の送信元のウェブサーバを特定する(ステップ502)。
ここで、ウェブブラウザ10にとって、ウェブサーバ20は、プリンタ100を構成する内部サーバであるという点で、他のウェブサーバとは異なる特別なサーバである。そこで、ブラウザ制御部16は、HTML文書の送信元のウェブサーバがウェブサーバ20か外部のウェブサーバかを識別する。識別方法としては、例えば次の方法が考えられる。
(1)TCP/IPレベルでループバックアドレス(「127.0.0.1」)が用いられていれば、HTML文書の送信元がウェブサーバ20であると判定する。
(2)要求(ウェブリクエスト)の送信先のURLのホストとして「localhost」または「127.0.0.1」が利用されているならば、HTML文書の送信元がウェブサーバ20であると判定する。
(3)応答(ウェブレスポンス)のHTTPヘッダのサーバ情報(Server)にウェブサーバ20を示す識別子が記述されていれば、HTML文書の送信元がウェブサーバ20であると判定する。
(1)TCP/IPレベルでループバックアドレス(「127.0.0.1」)が用いられていれば、HTML文書の送信元がウェブサーバ20であると判定する。
(2)要求(ウェブリクエスト)の送信先のURLのホストとして「localhost」または「127.0.0.1」が利用されているならば、HTML文書の送信元がウェブサーバ20であると判定する。
(3)応答(ウェブレスポンス)のHTTPヘッダのサーバ情報(Server)にウェブサーバ20を示す識別子が記述されていれば、HTML文書の送信元がウェブサーバ20であると判定する。
上記の識別方法のうち、方法(1)は、ループバックアドレスを見るので、要求送信時および応答受信時に行うことができる。方法(2)は、要求の送信先URLを見るので、要求送信時に行うことができる。方法(3)は、応答のHTTPヘッダを見るので、応答受信時に行うことができる。したがって、応答受信後に行われるステップ502の判定では、方法(1)または方法(3)が適用されることとなる。ただし、ウェブブラウザ10の処理手順に応じて、適用可能ないずれの方法を用いても良い。例えば、予め要求送信時に方法(2)によってウェブサーバの識別を行っておき、ステップ502のタイミングで識別結果を確認しても良い。
図5のフローチャートに戻り、HTML文書の送信元がウェブサーバ20(内部サーバ)であると判定されたならば(ステップ503でYes)、パーズ部12が、HTML文書に対して何ら変更を行うことなくDOMを生成する(ステップ505)。一方、HTML文書の送信元が外部のウェブサーバでないと判定されたならば(ステップ503でNo)、パーズ部12が、ブラウザ制御部16の制御にしたがってスクリプトの実行を制限するようにHTML文書を書き換え(ステップ504)、DOMを生成する(ステップ505)。
この後、実行部13が、パーズ部12により生成されたDOMにしたがってHTML文書を解析し、スクリプトをインタープリタ14に渡して実行させ、その他の記述を描画部15に渡してディスプレイ装置140に表示させる(ステップ506)。
図6は、スクリプトの要求による通信を制御する手法を実施する場合のウェブブラウザ10の動作を説明するフローチャートである。
図6に示すように、ウェブブラウザ10のインタープリタ14がスクリプトを実行する際に、ブラウザ制御部16は、かかるスクリプトの実行が要求の送信を伴うものか否かを判定する(ステップ601)。スクリプトがJavaScriptである場合、オブジェクトのクラスまたはメソッドが要求の送信を伴うか否か(XMLHttpRequest.send?)を判定することとなる。
図6に示すように、ウェブブラウザ10のインタープリタ14がスクリプトを実行する際に、ブラウザ制御部16は、かかるスクリプトの実行が要求の送信を伴うものか否かを判定する(ステップ601)。スクリプトがJavaScriptである場合、オブジェクトのクラスまたはメソッドが要求の送信を伴うか否か(XMLHttpRequest.send?)を判定することとなる。
スクリプトの実行が要求の送信を伴わない場合は(ステップ602でNo)、インタープリタ14がそのままオブジェクトを実行する(ステップ603)。一方、スクリプトの実行が要求の送信を伴う場合は(ステップ602でYes)、次に、ブラウザ制御部16が、この要求の送信先のウェブサーバ(ウェブサーバ20または外部のウェブサーバ)を調べる。ウェブサーバの識別方法は、図5のステップ502において説明した識別方法(1)または(2)を用いることができる。
要求の送信先が外部のウェブサーバであると判定されたならば(ステップ604でNo)、この要求の送信を行うことなく動作を終了する(オブジェクトは実行されない)。一方、要求の送信先がウェブサーバ20(内部サーバ)であると判定されたならば(ステップ604でYes)、この要求の送信を実行する(ステップ605)。
これらの動作で実施されるスクリプトの実行を制限する具体的な方法としては、例えば次の方法が考えられる。なお、ここではスクリプトとしてJavaScriptが用いられる場合を例として説明する。
(1)JavaScriptの特定の実行のみを抑制する方法
・送信を伴うオブジェクトまたはメソッドを特定し、そのようなメソッドを実行しない。
・XMLHttpRequestの実行を切り替える。インタープリタ14のXMLHttpRequestにダミー動作モード属性を設ける。抑止条件に該当する場合(HTML文書の送信元が外部のウェブサーバである場合)、ウェブブラウザ10は、XMLHttpRequestのオブジェクトは生成しない(具体的には、createRequest()の戻り値をnullとする)。または、XMLHttpRequestのsend()メソッドで要求を送信しないようにする。
(1)JavaScriptの特定の実行のみを抑制する方法
・送信を伴うオブジェクトまたはメソッドを特定し、そのようなメソッドを実行しない。
・XMLHttpRequestの実行を切り替える。インタープリタ14のXMLHttpRequestにダミー動作モード属性を設ける。抑止条件に該当する場合(HTML文書の送信元が外部のウェブサーバである場合)、ウェブブラウザ10は、XMLHttpRequestのオブジェクトは生成しない(具体的には、createRequest()の戻り値をnullとする)。または、XMLHttpRequestのsend()メソッドで要求を送信しないようにする。
(2)送信を抑止する方法
・オペレーティングシステムのソケットや、インタープリタ14内の低レベルな通信機構で、呼び出し元がJavaScript(またはその特定のオブジェクト)である場合、送信動作を行わないように制御する。
・オペレーティングシステムのソケットや、インタープリタ14内の低レベルな通信機構で、呼び出し元がJavaScript(またはその特定のオブジェクト)である場合、送信動作を行わないように制御する。
(3)JavaScriptの実行を抑制する方法
・HTML文書中の<script>タグを無視する。また、<script>タグのtype属性が“text/javascript”の場合はタグを無視する。
・JavaScriptがHTML文書から外部参照されている場合は、このJavaScriptを参照しない、または、参照しても実行しない。なお、参照時にJavaScriptと判断するには、HTTPヘッダのContent−Typeヘッダがtext/javascriptであることにより判定する。
・HTML文書中の<script>タグを無視する。また、<script>タグのtype属性が“text/javascript”の場合はタグを無視する。
・JavaScriptがHTML文書から外部参照されている場合は、このJavaScriptを参照しない、または、参照しても実行しない。なお、参照時にJavaScriptと判断するには、HTTPヘッダのContent−Typeヘッダがtext/javascriptであることにより判定する。
(4)要求を切り替える方法
・HTML文書の取得要求の送信時に、送信先のサーバに応じて、JavaScriptを含むHTML文書を要求するか否かを切り替える。
例)JavaScriptを含むページの要求
http://xxx/sample.html?js=1
JavaScriptを含まないページの要求
http://xxx/sample.html?js=0
・HTML文書の取得要求の送信時に、送信先のサーバに応じて、JavaScriptを含むHTML文書を要求するか否かを切り替える。
例)JavaScriptを含むページの要求
http://xxx/sample.html?js=1
JavaScriptを含まないページの要求
http://xxx/sample.html?js=0
(5)その他の方法
・HTML文書からインクルードされている外部ファイルのうち、JavaScript(type属性の値が”text/javascript”であるもの)は読み出さない(スタイルシート“text/css”は読み出す)。
・HTML文書からインクルードされている外部ファイルのうち、JavaScript(type属性の値が”text/javascript”であるもの)は読み出さない(スタイルシート“text/css”は読み出す)。
上記の方法のうち、方法(1)、(3)、(5)は、パーズ部12によるHTML文書の解析の際に、該当する記述を書き換えることによって実現される。したがって、図5を参照して説明した手法で用いることができる。これに対し、方法(2)、(4)は、要求の送信時に通信部11を制御することによって実現される。図6を参照して説明した手法で用いることができる。
以上の説明では、ブラウザ制御部16はHTML文書の送信元や要求の送信先のウェブサーバがウェブサーバ20か外部のウェブサーバかを識別するものとした。これは、ウェブサーバ20が、プリンタ100を構成(ローカルホストに存在)し、HTML文書のやり取りにおいて安全性および互換性を考慮する必要がない特別なサーバだからである。ここで、外部のウェブサーバであっても、例えばプリンタ100のメーカにより提供されており、安全性やスクリプトの互換性を考慮する必要のないウェブサーバが存在する場合がある。このような外部のウェブサーバから取得したHTML文書については、ウェブサーバ20から取得したHTML文書と同様にスクリプトも制限なく実行して良い。そこで、本実施形態の拡張として、ブラウザ制御部16は、外部のウェブサーバのうちで特定のウェブサーバを識別し、上記の図5または図6の動作においてHTML文書の送信元や要求の送信先がウェブサーバ20である場合と同様に扱う。
ウェブサーバ20と同様に扱う外部のウェブサーバ(すなわち、そのウェブサーバから取得したHTML文書についてはスクリプトの実行を制限しない)を識別するための具体的な方法は、例えばそのように扱うウェブサーバの識別情報をリストに登録しておき、HTML文書の取得要求またはその応答から得られるウェブサーバの識別情報をこのリストに照合する方法が考えられる。ウェブサーバを特定するための識別情報としては、(1)要求(ウェブリクエスト)の送信先のURL、(2)応答(ウェブレスポンス)のHTTPヘッダのサーバ情報、(3)応答(ウェブレスポンス)のHTML(またはXML)のメタ情報などが考えられる。
次に、ウェブサーバ20の動作について説明する。上述したように、ウェブサーバ20は、HTML文書の送信先であるウェブブラウザに応じて、HTML文書を編集して送信する。
図7は、ウェブサーバ20の動作を説明するフローチャートである。
図7に示すように、ウェブサーバ20の編集部23は、通信部21により受信したHTML文書の取得要求に基づいて、この要求の送信元のウェブブラウザを特定する(ステップ701)。
図7は、ウェブサーバ20の動作を説明するフローチャートである。
図7に示すように、ウェブサーバ20の編集部23は、通信部21により受信したHTML文書の取得要求に基づいて、この要求の送信元のウェブブラウザを特定する(ステップ701)。
ここで、ウェブサーバ20にとって、ウェブブラウザ10は、プリンタ100を構成する内部ブラウザであるという点で、他のウェブブラウザとは異なる特別なブラウザである。そこで、編集部23は、HTML文書の取得要求の送信元のウェブブラウザがウェブブラウザ10か外部のウェブブラウザかを識別する。識別方法としては、例えば次の方法が考えられる。
(1)TCP/IPレベルでループバックアドレス(「127.0.0.1」)が用いられていれば、HTML文書の取得要求の送信元がウェブブラウザ10であると判定する。
(2)要求(ウェブリクエスト)のHTTPヘッダのユーザエージェント情報(User−Agent)にウェブブラウザ10を示す識別子が記述されていれば、HTML文書の取得要求の送信元がウェブブラウザ10であると判定する。
(1)TCP/IPレベルでループバックアドレス(「127.0.0.1」)が用いられていれば、HTML文書の取得要求の送信元がウェブブラウザ10であると判定する。
(2)要求(ウェブリクエスト)のHTTPヘッダのユーザエージェント情報(User−Agent)にウェブブラウザ10を示す識別子が記述されていれば、HTML文書の取得要求の送信元がウェブブラウザ10であると判定する。
図7のフローチャートに戻り、HTML文書の取得要求の送信元がウェブブラウザ10(内部ブラウザ)であると判定されたならば(ステップ702でYes)、編集部23は、HTML文書を何ら編集せずに通信部21に渡し、通信部21がHTML文書の取得要求の送信元へ送信する(ステップ705)。一方、HTML文書の取得要求の送信元がウェブブラウザ10でないと判定されたならば(ステップ702でNo)、次に編集部23は、特定された外部のウェブサーバの種類を表す情報をHTML文書の取得要求から取得する(ステップ703)。ウェブブラウザの種類は、要求のHTTPヘッダのユーザエージェント情報から得ることができる。例えば、米国マイクロソフト社のインターネット・エクスプローラ(Internet Explorer)の場合、
User−Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)
のように記述されており、この記述によってインターネット・エクスプローラであることが識別される。
User−Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)
のように記述されており、この記述によってインターネット・エクスプローラであることが識別される。
次に編集部23は、予め用意された互換性情報に基づいてHTML文書を編集する(ステップ704)。互換性情報とは、各種のウェブブラウザでHTML文書を正しく実行できるように、ウェブブラウザの種類ごとに使用可能なタグやオブジェクト、メソッドに変換するための情報を登録したテーブルである。この互換性情報は、例えば図1の磁気ディスク装置130に保持されており、編集部23が読み出して参照する。
図8は、互換性情報の構成例を示す図である。
図8に示す例では、互換性情報には、変更方法、対象ウェブブラウザ、対象のファイルまたはセクションの種別、変更対象、変更内容の各情報が対応づけられて登録されている。例えば、1行目のエントリーには、変更方法として削除(D)、対象ウェブブラウザとしてインターネット・エクスプローラ(IE)、対象のファイルまたはセクションの種別としてJavaScript、変更対象としてFX−Custom−Requestがそれぞれ登録されている。このエントリーでは、変更方法が削除なので、変更内容欄は空欄となっている。また、3行目のエントリーには、変更方法として変更(M)、対象ウェブブラウザとしてインターネット・エクスプローラ(IE)、対象のファイルまたはセクションの種別としてHTML、変更対象としてABBRタグ、変更後のタグとしてEMタグがそれぞれ登録されている。
図8に示す例では、互換性情報には、変更方法、対象ウェブブラウザ、対象のファイルまたはセクションの種別、変更対象、変更内容の各情報が対応づけられて登録されている。例えば、1行目のエントリーには、変更方法として削除(D)、対象ウェブブラウザとしてインターネット・エクスプローラ(IE)、対象のファイルまたはセクションの種別としてJavaScript、変更対象としてFX−Custom−Requestがそれぞれ登録されている。このエントリーでは、変更方法が削除なので、変更内容欄は空欄となっている。また、3行目のエントリーには、変更方法として変更(M)、対象ウェブブラウザとしてインターネット・エクスプローラ(IE)、対象のファイルまたはセクションの種別としてHTML、変更対象としてABBRタグ、変更後のタグとしてEMタグがそれぞれ登録されている。
この後、編集部23は以上のようにして編集したHTML文書を通信部21に渡し、通信部21が編集されたHTML文書をこのHTML文書の取得要求の送信元へ送信する(ステップ705)。
なお、ウェブブラウザ10において、特定の外部のウェブサーバをウェブサーバ20と同様に扱う拡張を行ったように、ウェブサーバ20においても、特定の外部のウェブブラウザをウェブブラウザ10と同様に扱う拡張を行っても良い。この場合も、ウェブブラウザ10と同様に扱う外部のウェブブラウザの識別情報をリストに登録しておきHTML文書の取得要求から得られるウェブブラウザの識別情報をこのリストに照合すれば良い。
なお、ウェブブラウザ10において、特定の外部のウェブサーバをウェブサーバ20と同様に扱う拡張を行ったように、ウェブサーバ20においても、特定の外部のウェブブラウザをウェブブラウザ10と同様に扱う拡張を行っても良い。この場合も、ウェブブラウザ10と同様に扱う外部のウェブブラウザの識別情報をリストに登録しておきHTML文書の取得要求から得られるウェブブラウザの識別情報をこのリストに照合すれば良い。
10…ウェブブラウザ、11…通信部、12…パーズ部、13…実行部、14…インタープリタ、15…描画部、16…ブラウザ制御部、20…ウェブサーバ、21…通信部、22…文書取得部、23…編集部、100…プリンタ、120…制御装置、130…磁気ディスク装置、140…ディスプレイ装置、150…タッチパネル、160…ネットワークインターフェイス
Claims (13)
- 文書ファイルを提供するサーバと、
前記サーバから前記文書ファイルを取得して表示装置に表示させるブラウザを備え、
前記ブラウザは、
装置内の前記サーバまたは外部装置のサーバに前記文書ファイルの取得要求を送信し、当該取得要求に対する応答を受信する通信手段と、
前記通信手段により受信された前記応答に含まれる前記文書ファイルを解析して当該文書ファイルに記述されているスクリプトを抽出し実行するスクリプト実行手段と、
前記取得要求または前記通信手段により受信された前記応答に基づいて当該応答の送信元のサーバを特定し、特定された当該サーバに応じて前記スクリプト実行手段による前記スクリプトの実行を制御する制御手段と
を備えることを特徴とする文書表示装置。 - 前記制御手段は、前記応答の送信元が装置内の前記サーバか前記外部装置のサーバかを識別し、当該応答の送信元が当該外部装置のサーバである場合は、前記スクリプト実行手段による前記スクリプトの実行を制限することを特徴とする請求項1に記載の文書表示装置。
- 前記制御手段は、前記取得要求のヘッダまたは前記応答のヘッダに含まれる情報であってサーバを特定する識別情報のリストを有し、前記文書ファイルの取得要求の送信先または応答の送信元であるサーバの識別情報が当該リストに登録されていない場合は、前記スクリプト実行手段による前記スクリプトの実行を制限することを特徴とする請求項1に記載の文書表示装置。
- 前記制御手段は、前記スクリプトの実行制限として、前記スクリプトにより要求されるデータの送信を行わないことを特徴とする請求項1に記載の文書表示装置。
- 前記制御手段は、前記スクリプトの実行制限として、取得した前記文書ファイルから外部参照されているスクリプトの参照または実行を行わないことを特徴とする請求項1に記載の文書表示装置。
- 前記サーバは、
装置内の前記ブラウザまたは外部装置のブラウザから前記文書ファイルの取得要求を受信し、当該取得要求に対する応答を送信する通信手段と、
前記文書ファイルが保持される記憶装置から前記通信手段により受信された前記取得要求に対応する文書ファイルを取得する文書取得手段と、
前記応答または前記通信手段により受信された前記取得要求に基づいて当該応答の送信先であるブラウザを特定し、特定された当該ブラウザに応じて前記文書取得手段により取得された前記文書ファイルの記述を編集する編集手段と
を備えることを特徴とする請求項1に記載の文書表示装置。 - サーバに文書ファイルの取得要求を送信し、当該取得要求に対する応答を受信する通信手段と、
前記通信手段により受信された前記応答に含まれる前記文書ファイルを解析して表示装置に表示させる表示手段と、
前記通信手段により受信された前記応答に含まれる前記文書ファイルを解析して当該文書ファイルに記述されているスクリプトを抽出し実行するスクリプト実行手段と、
前記取得要求または前記通信手段により受信された前記応答に基づいて当該応答の送信元の前記サーバがローカルホストに存在するサーバか否かを識別し、当該ローカルホストに存在するサーバでない場合は、前記スクリプト実行手段による前記スクリプトの実行を制限する制御手段と
を備えることを特徴とする文書表示装置。 - 前記制御手段は、前記取得要求のヘッダまたは前記応答のヘッダに含まれる情報であってサーバを特定する識別情報のリストを有し、前記文書ファイルの取得要求の送信先または応答の送信元であるサーバの識別情報が当該リストに登録されている場合は、当該サーバが前記ローカルホストに存在するサーバでない場合であっても、前記スクリプト実行手段による前記スクリプトの実行制限を解除することを特徴とする請求項7に記載の文書表示装置。
- コンピュータを、
文書ファイルを提供するサーバ手段と、
前記サーバ手段または外部装置のサーバに前記文書ファイルの取得要求を送信し、当該取得要求に対する応答を受信する通信手段と、
前記通信手段により受信された前記応答に含まれる前記文書ファイルを解析して表示装置に表示させる表示手段と、
前記通信手段により受信された前記応答に含まれる前記文書ファイルを解析して当該文書ファイルに記述されているスクリプトを抽出し実行するスクリプト実行手段と、
前記取得要求または前記通信手段により受信された前記応答に基づいて当該応答の送信元を識別し、識別された当該応答の送信元に応じて前記スクリプト実行手段による前記スクリプトの実行を制御する制御手段として機能させることを特徴とするプログラム。 - 前記制御手段の機能として、前記応答の送信元が前記サーバ手段か前記外部装置のサーバかを識別し、当該応答の送信元が当該外部装置のサーバである場合は、前記スクリプト実行手段による前記スクリプトの実行を制限する処理を前記コンピュータに実行させることを特徴とする請求項9に記載のプログラム。
- 前記制御手段の機能として、前記取得要求のヘッダまたは前記応答のヘッダに含まれる情報であってサーバを特定する識別情報のリストを参照し、前記文書ファイルの取得要求の送信先または応答の送信元であるサーバの識別情報が当該リストに登録されていない場合は、前記スクリプト実行手段による前記スクリプトの実行を制限する処理を前記コンピュータに実行させることを特徴とする請求項9に記載のプログラム。
- コンピュータを、
サーバに文書ファイルの取得要求を送信し、当該取得要求に対する応答を受信する通信手段と、
前記通信手段により受信された前記応答に含まれる前記文書ファイルを解析して表示装置に表示させる表示手段と、
前記通信手段により受信された前記応答に含まれる前記文書ファイルを解析して当該文書ファイルに記述されているスクリプトを抽出し実行するスクリプト実行手段と、
前記取得要求または前記通信手段により受信された前記応答に基づいて当該応答の送信元の前記サーバがローカルホストに存在するサーバか否かを識別し、当該ローカルホストに存在するサーバでない場合は、前記スクリプト実行手段による前記スクリプトの実行を制限する制御手段として機能させることを特徴とするプログラム。 - 前記制御手段の機能として、前記取得要求のヘッダまたは前記応答のヘッダに含まれる情報であってサーバを特定する識別情報のリストを参照し、前記文書ファイルの取得要求の送信先または応答の送信元であるサーバの識別情報が当該リストに登録されている場合は、当該サーバが前記ローカルホストに存在するサーバでない場合であっても、前記スクリプト実行手段による前記スクリプトの実行制限を解除することを特徴とする請求項12に記載のプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007018034A JP2008186160A (ja) | 2007-01-29 | 2007-01-29 | 文書表示装置およびプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007018034A JP2008186160A (ja) | 2007-01-29 | 2007-01-29 | 文書表示装置およびプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008186160A true JP2008186160A (ja) | 2008-08-14 |
Family
ID=39729177
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007018034A Pending JP2008186160A (ja) | 2007-01-29 | 2007-01-29 | 文書表示装置およびプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2008186160A (ja) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010176324A (ja) * | 2009-01-28 | 2010-08-12 | Kawamura Electric Inc | 情報表示装置 |
| JP2011135135A (ja) * | 2009-12-22 | 2011-07-07 | Kyocera Mita Corp | 画像形成システムおよび画像形成装置 |
| JP2012090229A (ja) * | 2010-10-22 | 2012-05-10 | Sharp Corp | 複合機、制御プログラムおよび記録媒体 |
| JP2013122655A (ja) * | 2011-12-09 | 2013-06-20 | Hitachi Systems Ltd | ブラウザ実行スクリプト変換システムおよびブラウザ実行スクリプト変換プログラム |
| US8504612B2 (en) | 2009-12-22 | 2013-08-06 | Kyocera Document Solutions Inc. | Image forming system, image forming apparatus, and image forming method for the development, distribution, and maintenance of image forming apparatus operation screens |
| JP2015135680A (ja) * | 2009-04-02 | 2015-07-27 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | Ajaxウェブページコンテンツを取得する方法およびシステム |
| JP2017142766A (ja) * | 2016-02-05 | 2017-08-17 | 株式会社リコー | 情報処理システム、情報処理装置、及び情報処理方法 |
| JP2020086679A (ja) * | 2018-11-19 | 2020-06-04 | 治 寺田 | プログラム |
| JP2021165905A (ja) * | 2020-04-06 | 2021-10-14 | 株式会社リコー | 通信装置、通信装置の制御方法、及びプログラム |
| WO2023199387A1 (ja) * | 2022-04-11 | 2023-10-19 | 三菱電機株式会社 | 組み込み機器及び表示システム |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002117005A (ja) * | 2000-10-11 | 2002-04-19 | Fuji Xerox Co Ltd | 文書サーバ |
| JP2004070716A (ja) * | 2002-08-07 | 2004-03-04 | Sharp Corp | コンテンツ提示方法、コンテンツ提示プログラム、コンテンツ提示装置、および該プログラムを記録する記録媒体 |
| JP2004318816A (ja) * | 2003-03-31 | 2004-11-11 | Toshiba Corp | 通信中継装置、通信中継方法及びプログラム |
| JP2005182342A (ja) * | 2003-12-18 | 2005-07-07 | Toshiba Corp | スクリプト付き文書処理装置、文書取得装置、スクリプト付き文書処理システム、スクリプト付き文書処理方法およびその方法をコンピュータに実行させるためのプログラム |
| JP2006165867A (ja) * | 2004-12-06 | 2006-06-22 | Murata Mach Ltd | プロキシサーバ装置 |
-
2007
- 2007-01-29 JP JP2007018034A patent/JP2008186160A/ja active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002117005A (ja) * | 2000-10-11 | 2002-04-19 | Fuji Xerox Co Ltd | 文書サーバ |
| JP2004070716A (ja) * | 2002-08-07 | 2004-03-04 | Sharp Corp | コンテンツ提示方法、コンテンツ提示プログラム、コンテンツ提示装置、および該プログラムを記録する記録媒体 |
| JP2004318816A (ja) * | 2003-03-31 | 2004-11-11 | Toshiba Corp | 通信中継装置、通信中継方法及びプログラム |
| JP2005182342A (ja) * | 2003-12-18 | 2005-07-07 | Toshiba Corp | スクリプト付き文書処理装置、文書取得装置、スクリプト付き文書処理システム、スクリプト付き文書処理方法およびその方法をコンピュータに実行させるためのプログラム |
| JP2006165867A (ja) * | 2004-12-06 | 2006-06-22 | Murata Mach Ltd | プロキシサーバ装置 |
Cited By (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010176324A (ja) * | 2009-01-28 | 2010-08-12 | Kawamura Electric Inc | 情報表示装置 |
| US9767082B2 (en) | 2009-04-02 | 2017-09-19 | Alibaba Group Holding Limited | Method and system of retrieving ajax web page content |
| JP2015135680A (ja) * | 2009-04-02 | 2015-07-27 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | Ajaxウェブページコンテンツを取得する方法およびシステム |
| US8504612B2 (en) | 2009-12-22 | 2013-08-06 | Kyocera Document Solutions Inc. | Image forming system, image forming apparatus, and image forming method for the development, distribution, and maintenance of image forming apparatus operation screens |
| JP2011135135A (ja) * | 2009-12-22 | 2011-07-07 | Kyocera Mita Corp | 画像形成システムおよび画像形成装置 |
| US9170762B2 (en) | 2010-10-22 | 2015-10-27 | Sharp Kabushiki Kaisha | Multifunction peripheral and storage medium |
| US8751764B2 (en) | 2010-10-22 | 2014-06-10 | Sharp Kabushiki Kaisha | Multifunction peripheral and storage medium |
| CN102457638B (zh) * | 2010-10-22 | 2014-10-29 | 夏普株式会社 | 复合机 |
| CN104202495A (zh) * | 2010-10-22 | 2014-12-10 | 夏普株式会社 | 复合机、复合机控制系统 |
| CN102457638A (zh) * | 2010-10-22 | 2012-05-16 | 夏普株式会社 | 复合机 |
| US9762771B2 (en) | 2010-10-22 | 2017-09-12 | Sharp Kabushiki Kaisha | Multifunction peripheral and storage medium |
| JP2012090229A (ja) * | 2010-10-22 | 2012-05-10 | Sharp Corp | 複合機、制御プログラムおよび記録媒体 |
| JP2013122655A (ja) * | 2011-12-09 | 2013-06-20 | Hitachi Systems Ltd | ブラウザ実行スクリプト変換システムおよびブラウザ実行スクリプト変換プログラム |
| JP2017142766A (ja) * | 2016-02-05 | 2017-08-17 | 株式会社リコー | 情報処理システム、情報処理装置、及び情報処理方法 |
| JP2020086679A (ja) * | 2018-11-19 | 2020-06-04 | 治 寺田 | プログラム |
| JP7270876B2 (ja) | 2018-11-19 | 2023-05-11 | 治 寺田 | プログラム |
| JP2021165905A (ja) * | 2020-04-06 | 2021-10-14 | 株式会社リコー | 通信装置、通信装置の制御方法、及びプログラム |
| JP7435184B2 (ja) | 2020-04-06 | 2024-02-21 | 株式会社リコー | 通信装置、通信装置の制御方法、及びプログラム |
| WO2023199387A1 (ja) * | 2022-04-11 | 2023-10-19 | 三菱電機株式会社 | 組み込み機器及び表示システム |
| JP7566207B2 (ja) | 2022-04-11 | 2024-10-11 | 三菱電機株式会社 | 組み込み機器及び表示システム |
| GB2630218A (en) * | 2022-04-11 | 2024-11-20 | Mitsubishi Electric Corp | Embedded device and display system |
| US12519644B2 (en) | 2022-04-11 | 2026-01-06 | Mitsubishi Electric Corporation | Embedded device and display system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2008186160A (ja) | 文書表示装置およびプログラム | |
| JP5885527B2 (ja) | 印刷システム、印刷サーバ、制御方法およびコンピュータプログラム | |
| JP5539043B2 (ja) | 情報送信装置、情報送信装置の制御方法及びコンピュータプログラム | |
| US9069504B2 (en) | Printing apparatus and method for increasing storage area | |
| US9160873B2 (en) | Information processing system controlling image processing apparatus to display screen information, control method therefor, external control apparatus, information provision apparatus, image processing apparatus, and storage medium storing program | |
| JP5685981B2 (ja) | 画像形成装置、情報処理システム、課金方法、プログラム、及び記録媒体 | |
| US8346852B2 (en) | Apparatus and method for updating displayed web page | |
| US8982388B2 (en) | Information processing apparatus that displays operation screen and control method therefor | |
| US8612889B2 (en) | Information processing device, method for controlling screen display and storage medium | |
| US9300824B2 (en) | Method and image forming apparatus to generate user interface screen to be displayed to user accessing the image forming apparatus | |
| US20140281914A1 (en) | Information processing system, information processing device, and information processing method | |
| JP2011076171A (ja) | インターネットに接続される端末装置 | |
| JP2015097356A (ja) | 通信システム、画像形成装置及びそれらの制御方法、並びにプログラム | |
| JP2012064091A (ja) | 情報処理システム、情報処理装置、及びプログラム | |
| JP2011131382A (ja) | 画像形成システムおよび画像形成装置 | |
| US20120331175A1 (en) | Image processing apparatus that communicates with server via relay device, method of controlling image processing apparatus, and storage medium | |
| US20150116763A1 (en) | Method of executing web application in image forming apparatus and image forming apparatus to perform the method | |
| JP2011135135A (ja) | 画像形成システムおよび画像形成装置 | |
| JP5325601B2 (ja) | ソフトウェア開発システムおよびソフトウェア開発方法 | |
| KR101385492B1 (ko) | 데이터 전송 장치와 화상형성장치 및 그 방법 | |
| JP4787655B2 (ja) | 情報処理装置、表示制御装置、情報処理システム、情報処理方法、表示制御方法、情報処理プログラム及び表示制御プログラム | |
| EP2700034B1 (en) | Information processing apparatus, information processing system, control method therefor, and storage medium | |
| JP2013098589A (ja) | 情報処理装置及びその制御方法、並びにプログラム | |
| JP2009048332A (ja) | ウェブページ閲覧装置 | |
| JP2025035387A (ja) | 画像処理装置、情報処理装置、システム、それらの制御方法、及びプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091221 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120417 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120614 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120821 |