JPWO2009084591A1 - ブラウザプログラム及び端末装置 - Google Patents
ブラウザプログラム及び端末装置 Download PDFInfo
- Publication number
- JPWO2009084591A1 JPWO2009084591A1 JP2009548065A JP2009548065A JPWO2009084591A1 JP WO2009084591 A1 JPWO2009084591 A1 JP WO2009084591A1 JP 2009548065 A JP2009548065 A JP 2009548065A JP 2009548065 A JP2009548065 A JP 2009548065A JP WO2009084591 A1 JPWO2009084591 A1 JP WO2009084591A1
- Authority
- JP
- Japan
- Prior art keywords
- module
- browser
- content
- rendering
- dedicated
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Document Processing Apparatus (AREA)
- Stored Programmes (AREA)
Abstract
Description
・ネットワーク
移動体通信事業者の移動体通信網、イントラネット、インターネット等を含む各種通信網
・コンテンツ
ネットワーク経由で伝送される、又は端末に格納されている、ユーザが閲覧する映像や画像、音声、文書、ワークシート等の情報、或いはそれらの組み合わせから構成される一群の情報
・Webコンテンツ
コンテンツの一形態であり、Web技術を利用して作成・閲覧される一群の情報
・Webページ
Webコンテンツの一形態であり、ユーザがあるURIを指定したときに表示されるべき内容全体。すなわち、ディスプレイ上の画像をスクロールすることにより表示され得る内容全体。なお、Webページにはオンラインで閲覧されるものに限らず、オフラインで閲覧されるものも含まれる。オフラインで閲覧されるWebページには、例えばインターネット経由で伝送されてブラウザによりキャッシングされたページや、端末装置のローカルフォルダ等にmht形式で保存されたページ等が含まれる。Webページは、例えばHTMLやXHTML文書、イメージファイル、音声データ等の種々のデータ(Webページデータ)から構成される。
移動体通信事業者の独自の仕様として「form要素のラジオボタンの数を16以下に制限する」というものがある場合を考える。この場合、起動管理モジュール1051は、ラジオボタンの数が16を超えるform要素を変更(例えば、form要素内に記述されているtype属性値が「radio」であるフォームコントロール(input要素)の数が16になるように少なくとも1つのフォームコントロールを削除)する。
移動体通信事業者の独自の仕様として「textarea要素の入力可能字数を4列20文字以下に制限する」というものがある場合を考える。起動管理モジュール1051は、マークアップ文書中に、例えば「<textarea name="impressions" rows="10" cols="40">ここに感想を記入してください。</textarea>」と記述されたtextarea要素がある場合、当該textarea要素を「<textarea name="impressions" rows="4" cols="20">ここに感想を記入してください。</textarea>」に変換する。
移動体通信事業者の独自の仕様として「<a href="http://foo.bar.com/program.cgi?action=q" terminalid> という要素に対して端末IDをtidとしてWebサイトに送信する」というものがある場合を考える。起動管理モジュール1051は、アクセスしたWebサイトに端末IDを送信するため、例えば端末装置10のSIMカード(Subscriber Identity Module Card)から端末ID(例えばz0878e0003a99)を読み出して、マークアップ文書中のa要素 <a href="http://foo.bar.com/program.cgi?action=q" terminalid> を <a href="http://foo.bar.com/program.cgi?action=q&tid=z0878e0003a99" > に変換し、マークアップ文書中のオリジナルのa要素に代えて変換したa要素をマークアップ文書に挿入する。この処理の効果等の詳細については後述する。
<処理例3>の仕様に加えて、更に、端末IDの送信許可を毎回ユーザに確認する仕様がある場合を考える。起動管理モジュール1051は、先ずSIMカードから端末ID(例えばz0878e0003a99)を読み出して、次いで、読み出された端末IDとJavascript(登録商標)を実行するコードを <a href="http://foo.bar.com/program.cgi?action=q" terminalid> に埋め込む。具体的には、起動管理モジュール1051は、マークアップ文書中の上記のa要素を <a href="http://foo.bar.com/program.cgi?action=q&tid=z0878e0003a99" onclick="userconfirmwithtext('端末IDを送信していいですか')" > に変換し、マークアップ文書中のオリジナルのa要素に代えて、変換されたa要素をマークアップ文書に挿入する。なお、a要素がクリックされたときに実行されるスクリプトuserconfirmwithtext()の定義は、script要素としてhead要素に挿入される。
移動体通信事業者の独自の拡張機能として「<mobilebackground img="fujisan.jpg"> という独自の要素によりブラウザのスキンを設定する」というものがある場合を考える。この場合、起動管理モジュール1051は、 <mobilebackground img="fujisan.jpg"> にid属性(又はclass属性)を付加する変更を行う。すなわち <mobilebackground img="fujisan.jpg"> を <a id="xx889" href="mobilebackground:fujisan.jpg"> に変換し、マークアップ文書中のオリジナルのa要素に代えて、変換して得られたa要素をマークアップ文書のbody要素に挿入する。
移動体通信事業者の独自の拡張機能として「<mobilebackground audio="march.mp3"> という要素によるWebコンテンツのバックグラウンドミュージックを設定する」というものがある場合を考える。この場合、起動管理モジュール1051は、要素 <mobilebackground audio="march.mp3"> にid属性を付加する変更を行う。すなわち <mobilebackground audio="march.mp3"> を <a id="xx889" href="mobilebackgroundaudio:march.mp3"> に変換し、マークアップ文書中のオリジナルのa要素に代えて、変換して得られたa要素をマークアップ文書のbody要素に挿入する。
移動体通信事業者の独自の仕様として「電話帳の項目を削除するための「Phonebook.delete(i, securitykey)」(i はi番目のエントリを示す)という端末装置10の内部からしか実行できないインタフェースがあり、要素 <phonebookdelete param="i"> が与えられたときに Phonebook.delete(i, securitykey) を実行して電話帳の項目を削除する」というものがある場合を考える。起動管理モジュール1051は、インターセプトしたレスポンス・メッセージにおいて要素 <phonebookdelete param="2"> が与えられているとき、<phonebookdelete param="2"> を例えば <a onclick="phonebookdelete(2, '#ce113fed3')"> に変換し、マークアップ文書中のオリジナルのa要素に代えて、変換して得られたa要素をマークアップ文書のbody要素に挿入する。起動管理モジュール1051は、更に、Javascriptで記述された次の非オープンソースの専用モジュールを呼び出してマークアップ文書のhead要素に挿入し、当該マークアップ文書をオープンソースのブラウザエンジン・モジュール1052に渡す。なお、「#ce113fed3」は、「現在時刻(現在の日時を1時間単位で表すもの)」、「秘密の鍵」、および「Webコンテンツ(マークアップ文書)のバイト数」の3つのデータからなるデータのセットにハッシュをかけることにより生成されたセキュリティキー(ハッシュ値)である。秘密の鍵は、端末装置10内部で秘密に管理されている値である。このようなセキュリティキーは、適用可能なWebコンテンツを限定し、セキュリティキーの有効期限を設定することを可能にする。また、このようなセキュリティキーは、秘密の鍵を知り得ない外部端末によっては生成不可能であるため、外部からの不正アクセスを有効には排除することを可能にする。従って、このようなセキュリティキーの使用によって極めて高いセキュリティを確保することができる。
<script>
function phonebookdelete (arg, securitykey)
{
if (securitycheck(securitykey) == "passed") /* もしセキュリティチェックがOKなら"passed"が返る */
{
if (userconfirm(arg) == "ok") /* ユーザにチェックする。OKなら"ok"が返る */
{
Phonebook.delete(i, securitykey);
}
}
else
{
/* セキュリティがチェックできない */
}
}
</script>
次いで、オープンソースのブラウザエンジン・モジュール1052は、図4のWebコンテンツのレンダリング処理を実行した後にonclickイベントが発生すると、head要素に挿入された上記のJavascriptを実行する。まず、関数securitycheck(securitykey)を実行して2通りのハッシュ値を生成し、何れか一方のハッシュ値が「#ce113fed3」と一致するか否かを判定する。そして、何れか一方のハッシュ値がセキュリティキー「#ce113fed3」と一致すると判定されると、関数userconfirm(arg)によりユーザに電話帳の項目の削除を実行してよいかどうかを確認し、ユーザが許可(OK)した場合に限り、命令Phonebook.delete(i, securitykey)による電話帳の項目の削除を実行する。具体的には、命令Phonebook.delete()により以下の処理(1)〜(5)が実行される。
(1)「現在時刻」、「秘密の鍵」、および「Webコンテンツのバイト数」の3つのデータからなるデータのセットからハッシュ値を生成する。
(2)「30分前の時刻」、「秘密の鍵」、および「Webコンテンツのバイト数」の3つのデータからなるデータのセットからもハッシュ値を生成する。
(3)(1)又は(2)で生成されたハッシュ値とセキュリティキー「#ce113fed3」とを突き合わせる。
(4)何れのハッシュ値もセキュリティキー「#ce113fed3」と一致しないときには"rejected"を返す。
(5)一方のハッシュ値がセキュリティキー「#ce113fed3」と一致すれば"passed"を返す。
オープンソースのブラウザエンジン・モジュール1052は、"passed"が返された場合には電話帳の項目の削除を実行し、"rejected"が返された場合には当該削除を実行しない。ここで、例えばPhoneboook.delete(i, securitykey)という命令が直接サーバから端末装置10に送り込まれた場合、端末装置10内部において当該命令が実行される。しかし、サーバは「秘密の鍵」を知らないため、当該命令が実行されたとしてもセキュリティキーの突き合わせ処理でエラーとなり、上記(4)のように"rejected"が返されるだけで、サーバから端末装置10の電話帳の項目を削除することはできない従って、外部から端末装置10の電話帳の項目を削除するためには要素 <phonebookdelete param="i"> を使用する必要がある。この場合には、命令 Phoneboook.delete(i, securitykey) が実行される前にユーザによる確認が要求されるため、ユーザが意図しない電話帳の項目削除が行われることがない。このようにセキュリティ面に配慮した処置を施すと、端末装置10の電話帳の項目が悪意のあるコードによってユーザの意図に反して削除されることはない。
セキュリティ例1と同様の仕様がある場合、起動管理モジュール1051は、インターセプトしたレスポンス・メッセージにおいて要素 <phonebookdelete param="2"> が与えられているとき、<phonebookdelete param="2"> を例えば <a onclick="phonebookdelete(2, '#ce113fed3')"> に変換し、マークアップ文書中のオリジナルのa要素に代えて、変換して得られたa要素をマークアップ文書のbody要素に挿入する。起動管理モジュール1051は、更に、以下のスクリプトをマークアップ文書のhead要素に挿入し、当該マークアップ文書をオープンソースのブラウザエンジン・モジュール1052に渡す。なお、「#ce113fed3」は、セキュリティ例1と同じくセキュリティキーである。
<script>
function phonebookdelete (arg, securitykey)
{
Phonebook.delete(i, securitykey);
}
</script>
次いで、オープンソースのブラウザエンジン・モジュール1052は、図4のWebコンテンツレンダリング処理を実行後にonclickイベントが発生すると、head要素に挿入されたJavascriptを実行して、命令Phonebook.delete(i, securitykey)に対応する非オープンソースのオブジェクトコードである専用モジュールを呼び出す。そして、呼び出された非オープンソースの専用モジュールは、セキュリティ例1の処理(1)〜(5)と同じ処理を行い、生成したハッシュ値の一方とセキュリティキーとが一致すると、ユーザに電話帳の項目の削除を実行してよいかどうかを確認するダイアログを表示する。ユーザが削除を許可する操作を行うと、"passed"をブラウザエンジン・モジュール1052に返す。生成したハッシュ値の一方とセキュリティキーとが一致しないか、ユーザが削除を許可しなければ、"rejected"をブラウザエンジン・モジュール1052に返す。ブラウザエンジン・モジュール1052は、"passed"が返された場合には電話帳の項目の削除を実行し、"rejected"が返された場合には当該削除を実行しない。セキュリティ例2の場合、ハッシュ値を計算するプログラムをhead要素に挿入する必要がない点がセキュリティ上、好適である。
Claims (9)
- マークアップ言語で記述されたコンテンツデータに基づいてディスプレイに該コンテンツを表示するための描画データを生成する、コンピュータによって実行可能なブラウザプログラムであって、
それぞれ異なる機能が実装された複数のブラウザモジュールと、
前記複数のブラウザモジュールを管理するブラウザモジュール管理部と
を備え、
前記複数のブラウザモジュールの一つは、前記コンテンツデータをレンダリングして描画データを生成するレンダリングモジュールであり、
前記複数のブラウザモジュールの少なくとも一つは、前記レンダリングモジュールの機能の一部を代替若しくは変更し、又は該レンダリングモジュールの機能に別の機能を追加する専用モジュールであり、
前記ブラウザモジュール管理部は、所定の条件に基づいて、何れの専用モジュールを用いて前記コンテンツデータに含まれる要素を処理するかを決定し、前記コンテンツデータに所定の変更を加えたものを前記レンダリングモジュールに処理させる
ことを特徴とするブラウザプログラム。 - 前記ブラウザモジュール管理部は、
前記コンテンツデータを検索して前記専用モジュールを用いて処理すべき要素を抽出する要素抽出部と、
前記要素抽出部による抽出結果に基づいて前記コンテンツデータに所定の変更を加えるコンテンツデータ変更部と、
前記変更に対応する前記専用モジュールを起動させるモジュール起動部と、
前記変更が加えられたコンテンツを前記レンダリングモジュールに渡すコンテンツ送信部と
を有し、
前記レンダリングモジュールは、前記コンテンツの前記変更が加えられた部分に対する処理を前記起動された専用モジュールに実行させ、その実行結果を用いて前記コンテンツをレンダリングすることを特徴とする請求項1に記載のブラウザプログラム。 - 前記コンテンツ変更部は、所定の制御情報が付加された所定の要素を前記コンテンツに挿入することを特徴とする請求項2に記載のブラウザプログラム。
- 前記所定の制御情報は、前記専用モジュールを呼び出して前記レンダリングモジュールの機能に該専用モジュールの機能を追加するための情報であることを特徴とする請求項3に記載のブラウザプログラム。
- 前記所定の制御情報には、前記専用モジュールが前記所定の要素にアクセスするための識別情報が含まれることを特徴とする請求項4に記載のブラウザプログラム。
- 前記コンテンツ変更部は、前記レンダリングモジュールが前記コンテンツを解析できる範囲で変更を加えることを特徴とする請求項2に記載のブラウザプログラム。
- サーバへのリクエストは前記レンダリングモジュールが行い、
前記ブラウザモジュール管理部は、前記リクエストに対するレスポンスをインターセプトして、前記要素抽出部による要素抽出処理、前記コンテンツ変更部によるコンテンツ変更処理、前記モジュール起動部によるブラウザモジュール起動処理、および前記コンテンツ送信部によるコンテンツ送信処理を行うことを特徴とする請求項2に記載のブラウザプログラム。 - 前記レンダリングモジュールは、オープンソース化されたブラウザモジュールであることを特徴とする請求項1に記載のブラウザプログラム。
- 請求項1に記載されたブラウザプログラムを格納する格納手段と、
前記格納されているブラウザプログラムを実行するブラウザプログラム実行手段と、
前記実行されたブラウザプログラムによるレンダリング結果を表示する表示手段と
を備えたことを特徴とする端末装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009548065A JP5243452B2 (ja) | 2007-12-28 | 2008-12-25 | ブラウザプログラム及び端末装置 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007338702 | 2007-12-28 | ||
JP2007338702 | 2007-12-28 | ||
JP2009548065A JP5243452B2 (ja) | 2007-12-28 | 2008-12-25 | ブラウザプログラム及び端末装置 |
PCT/JP2008/073612 WO2009084591A1 (ja) | 2007-12-28 | 2008-12-25 | ブラウザプログラム及び端末装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2009084591A1 true JPWO2009084591A1 (ja) | 2011-05-19 |
JP5243452B2 JP5243452B2 (ja) | 2013-07-24 |
Family
ID=40824305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009548065A Expired - Fee Related JP5243452B2 (ja) | 2007-12-28 | 2008-12-25 | ブラウザプログラム及び端末装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20100281403A1 (ja) |
JP (1) | JP5243452B2 (ja) |
WO (1) | WO2009084591A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012115981A1 (en) * | 2011-02-22 | 2012-08-30 | Tealeaf Technology, Inc. | On-page manipulation and real-time replacement of content |
JP5821631B2 (ja) | 2011-12-28 | 2015-11-24 | 富士通株式会社 | 再生装置、再生方法、及び再生プログラム |
US11080169B2 (en) * | 2019-11-13 | 2021-08-03 | Google Llc | Framework for providing binary release isolation for parts of a web application |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6473609B1 (en) * | 1995-12-11 | 2002-10-29 | Openwave Systems Inc. | Method and architecture for interactive two-way communication devices to interact with a network |
JP3202968B2 (ja) * | 1998-06-30 | 2001-08-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 表示制御情報生成方法及びコンピュータ |
JP2001084183A (ja) * | 1999-09-17 | 2001-03-30 | Nec Corp | データ変換システム |
JP3576897B2 (ja) * | 1999-11-11 | 2004-10-13 | Necパーソナルプロダクツ株式会社 | ウェブブラウザのプラグイン実現方式、ウェブブラウザのプラグイン実現方法およびウェブブラウザのプラグイン実現用プログラムを記録した記録媒体 |
JP2003303152A (ja) * | 2002-02-08 | 2003-10-24 | Matsushita Electric Ind Co Ltd | コンテンツ送信システム |
EP1335306A3 (en) * | 2002-02-08 | 2005-04-27 | Matsushita Electric Industrial Co., Ltd. | System for jointly transmitting hypertext content and a UI operation program |
JP3942941B2 (ja) * | 2002-04-22 | 2007-07-11 | 三菱電機株式会社 | 通信装置及びプラグインモジュール制御方法及びコンピュータに実行させるためのプログラム及びコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP4292789B2 (ja) * | 2002-11-20 | 2009-07-08 | 日本電気株式会社 | ブラウザ機能拡張方法 |
DE102004041395A1 (de) * | 2004-08-26 | 2006-03-09 | Siemens Ag | Erzeugung dynamischer Webinhalte |
-
2008
- 2008-12-25 JP JP2009548065A patent/JP5243452B2/ja not_active Expired - Fee Related
- 2008-12-25 WO PCT/JP2008/073612 patent/WO2009084591A1/ja active Application Filing
- 2008-12-25 US US12/810,820 patent/US20100281403A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP5243452B2 (ja) | 2013-07-24 |
WO2009084591A1 (ja) | 2009-07-09 |
US20100281403A1 (en) | 2010-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8825799B2 (en) | Redirection method for electronic content | |
JP4395178B2 (ja) | コンテンツ処理システム、方法及びプログラム | |
US8965958B2 (en) | File fetch from a remote client device | |
US9727354B2 (en) | System and methods for loading an application and its modules in a client device | |
CA2632793A1 (en) | Information server and mobile delivery system and method | |
US9317681B2 (en) | Information processing apparatus, information processing method, and computer program product | |
US11553035B2 (en) | Cross-platform module for loading across a plurality of device types | |
WO2013169827A1 (en) | Enhanced document and event mirroring for accessing content | |
CN106878366A (zh) | 一种文件上传方法和装置 | |
JP5243452B2 (ja) | ブラウザプログラム及び端末装置 | |
US8442961B2 (en) | Method, system and computer programming for maintaining bookmarks up-to date | |
JP2012515384A (ja) | ライブラリに対するガジェットアクセスを安全にする方法 | |
CN112925589A (zh) | 扩展接口的调用方法及装置 | |
CN114489603A (zh) | 代码生成方法、装置、电子设备、介质和产品 | |
JP5088269B2 (ja) | 画面情報管理方法 | |
US20130239027A1 (en) | Apparatus and method for generating wiki previews | |
CN115296915B (zh) | 网页数据访问方法及其装置、设备、介质、产品 | |
CN116382604B (zh) | 一种在网页打印pdf文件的方法、系统、存储介质、设备 | |
KR20080051060A (ko) | 인터넷 웹 페이지에 저장되어 있는 개인 정보를 검색하는시스템 및 그 개인 정보 검색 방법 | |
JP2009211601A (ja) | ネットワーク配信型文書閲覧システム、文書配信サーバ、文書配信方法および文書配信プログラム | |
CN113032042A (zh) | 目标文件的处理方法、装置和终端设备 | |
CN116955294A (zh) | 文件预览方法、装置、电子设备及存储介质 | |
JP5500020B2 (ja) | Webアプリケーション提供方法、中継サーバ装置、Webサーバ装置 | |
WO2005088446A1 (ja) | 利便性、安全性の高いWebサービスをユーザに提供できるアプリケーション作成装置 | |
Chernich et al. | An Open Source Annotation Service for the Atlas of Living Australia |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110906 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130220 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130315 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130404 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160412 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |