(57)【特許請求の範囲】
【請求項１】
クライアントの画面からのデータ入力を制御するＷＷＷサーバであって、
作業毎に一意の作業ＩＤおよび表示部のＵＲＬを格納する作業域と、
指定された作業に対応する作業ＩＤとリダイレクト先となる表示部のＵＲＬとをリダイレクトコマンドでクライアントに送信および当該作業ＩＤ用の作業域に当該作業ＩＤと当該表示部のＵＲＬを保存する手段と、
前記クライアントからの前記リダイレクトコマンドに対応するＧＥＴコマンドによって作業ＩＤと表示部のＵＲＬを受信する手段と、
前記受信された作業ＩＤおよび表示部のＵＲＬが当該作業ＩＤの前記作業域に格納されている作業ＩＤおよび表示部のＵＲＬと一致したときに、前記クライアントに画面フォームを送信する手段と
を備えたことを特徴とする画面制御装置。
【請求項２】
クライアントの画面からのデータ入力を制御するＷＷＷサーバであって、
作業毎に一意の作業ＩＤ、ページＩＤおよび表示部のＵＲＬを格納する作業域と、
指定された作業域に対応する作業ＩＤとページＩＤとリダイレクト先となる表示部のＵＲＬとをリダイレクトコマンドでクライアントに送信および当該作業ＩＤ用の作業域に当該作業ＩＤとページＩＤと当該表示部のＵＲＬを保存する手段と、
前記クライアントからの前記リダイレクトコマンドに対応するＧＥＴコマンドによって作業ＩＤとページＩＤと表示部のＵＲＬを受信する手段と、
前記受信された作業ＩＤ、ページＩＤおよび表示部のＵＲＬが当該作業ＩＤの前記作業域に格納されている作業ＩＤ、ページＩＤおよび表示部のＵＲＬと一致したときに、前記クライアントに画面フォームを送信する手段と
を備えたことを特徴とする画面制御装置。
【請求項３】
前記作業域が、最初に表示する、ページＩＤおよび表示部のＵＲＬを格納し、
前記送信する手段が、前記受信された作業ＩＤ、ページＩＤおよび表示部のＵＲＬのいずれかが当該作業ＩＤの作業域に格納されている作業ＩＤ、ページＩＤおよび表示部のＵＲＬと一致しないときに、前記作業域に格納した最初に表示するページＩＤの前記面フォームをクライアントに送信すること、
を特徴とする請求項１または請求項２に記載の画面制御装置。
【請求項４】
作業毎に一意の作業ＩＤおよび表示部のＵＲＬを格納する作業域を有するクライアントの画面からのデータ入力を制御するＷＷＷサーバを、
指定された作業に対応する作業ＩＤとリダイレクト先となる表示部のＵＲＬとをリダイレクトコマンドでクライアントに送信および当該作業ＩＤ用の作業域に当該作業ＩＤと当該表示部のＵＲＬを保存する手段と、
前記クライアントからの前記リダイレクトコマンドに対応するＧＥＴコマンドによって作業ＩＤと表示部のＵＲＬを受信する手段と、
前記受信された作業ＩＤおよび表示部のＵＲＬが当該作業ＩＤの前記作業域に格納されている作業ＩＤおよび表示部のＵＲＬと一致したときに、前記クライアントに画面フォームを送信する手段と
して機能させるプログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、クライアントの画面からのデータ入力を制御する画面制御装置および記録媒体に関するものである。
【０００２】
【従来の技術】
従来、ＷＷＷサーバが利用者の操作するクライアント（パソコンなどの端末）に画面フォームを送信してブラウザ上に画面を表示させ、クライアントが表示された画面上で選択やデータを入力してＷＷＷサーバに送信することを繰り返して一連の作業を進めることがある。この際、１つの作業が複数の画面フォーム（ページ）から構成される場合に以下のように行っていた。
【０００３】
サーバがクライアントに送信する不可視のフィールドを作成してデータを埋め込み、次に、クライアントがデータを送信するときに入力データと一緒に不可視のフィールドのデータも一緒に送信させ、作業内容を管理し、作業を行うようにしていた。
【０００４】
また、サーバがクライアント（ユーザ）毎に作業域を設け、１つの作業が完結するまでのデータをこの作業域に保持して管理し、作業を行うようにしていた。
【０００５】
【発明が解決しようとする課題】
上述した前者の管理手法では、サーバが過去に表示された画面フォーム（ページ）の入力データも不可視フィールドに設定してクライアントに送信するため、クライアント側で、現在の画面フォームの入力データと一緒に、不可視フィールドの過去のページの入力データを改ざんしてサーバに送信することができてしまい、各ページについてチェックした処理（例えばエラー処理）が無意味となってしまったり、ページ間のデータに矛盾が発生してしまったりするという問題がある。また、入力データが多量にある場合には、サーバとクライアント間で毎回その多量のデータの送受信を繰り返す必要があり、作業効率が悪いという問題もあった。
【０００６】
また、上述した後者の管理手法では、サーバ側で過去の画面フォームの入力データを一括管理するために、現在の画面フォームの入力データのみをクライアントからサーバに送信すればよく、データ送信効率は良く、過去の入力データの改ざんを防止できる。しかし、クライアントがある作業の途中で、他の作業を開始しても、サーバ側では、前の作業が中断されたことが判らず、前の完結していない作業の入力データを保持しつづけることとなり、サーバのメモリ資源を多量に消費してしまうという問題があった。
【０００７】
また、１個の作業が複数のページで構成されている場合には、クライアントのブラウザの機能により前のページに移動して当該ページの入力データを再送信すると、サーバ側で前の同ページの入力データを更新したりしてデータの整合性がくずれて矛盾を生じてしまうなどの問題もあった。
【０００８】
本発明は、これらの問題を解決するため、サーバ上で作業毎に作業ＩＤ／ページＩＤ／キーワードを管理し、クライアントからの画面フォームの入力データなどと一緒に送信された作業ＩＤ／ページＩＤ／キーワードをもとにチェックを行って作業を進め、データ送受信量を必要最小限にし、前ページの入力データの改ざんを防止し、および不正なページへの分岐を防止したりなどすることを目的としている。
【０００９】
【課題を解決するための手段】
図１を参照して課題を解決するための手段を説明する。
図１において、サーバ１は、画面フォームをクライアント１１にダウンロードして表示させ、その画面上からデータを入力させ送信を受けて作業を行ったりなどするものであって、ここでは、作業域２、制御手段３などから構成されるものである。
【００１０】
作業領域２は、作業毎に作業域（１）、（２）・・・を作成するものである。
作業域（１）、（２）・・・は、作業ＩＤ、ページＩＤ、キーワード、その他の入力データなどを格納するものである。
【００１１】
制御手段３は、全体を統括制御するものであって、ここでは、画面に関する制御を行うものである。
次に、動作を説明する。
【００１２】
サーバ１の制御手段３が指定された作業に対応する画面フォームあるいはデータ、および作業ＩＤをクライアント１１に送信および作業ＩＤの作業域にキーワードを保存し、送信した画面フォーム上から入力された入力データあるいは所定データ、および作業ＩＤとキーワードを受信し、受信された作業ＩＤおよびキーワードが作業ＩＤの作業域に格納されている作業ＩＤおよびキーワードと一致したときに、一緒に受信したデータをもとに作業を進めるようにしている。
【００１３】
また、制御手段３が指定された作業に対応する画面フォームあるいは所定のデータ、および作業ＩＤ、ページＩＤ、キーワードをクライアントに送信および作業ＩＤの作業域にページＩＤとキーワードを保存し、送信した画面フォーム上から入力されたデータあるいは所定のデータ、および作業ＩＤ、ページＩＤ、キーワードを受信し、受信された作業ＩＤ、ページＩＤおよびキーワードが作業ＩＤの作業域に格納されている作業ＩＤ、ページＩＤおよびキーワードと一致したときに、一緒に受信した入力データをもとに作業を進めるようにしている。
【００１４】
また、制御手段３が指定された作業に対応する上記画面フォーム、作業ＩＤ、ページＩＤをクライアントに送信および作業ＩＤの作業域にページＩＤとキーワードを保存し、送信した画面フォーム上から入力されたデータ、および作業ＩＤ、ページＩＤ、キーワードを受信し、受信された作業ＩＤ、ページＩＤおよびキーワードが作業ＩＤの作業域に格納されている作業ＩＤ、ページＩＤおよびキーワードと一致したときに、一緒に受信した入力データをもとに作業を進め、一方、受信された作業ＩＤ、ページＩＤおよびキーワードが作業ＩＤの作業域に格納されている作業ＩＤ、ページＩＤおよびキーワードと１つでも一致しないときに、作業域に格納した最初に表示するページＩＤの上記画面フォームの送信に強制的に戻したり、エラー表示したり、強制終了したりするようにしている。
【００１５】
また、キーワードを、作業を行うプログラム名あるいは作業を行うためのＵＲＬとするようにしている。
従って、サーバ１上で作業毎に作業ＩＤ／ページＩＤ／キーワードを管理し、クライアント１１からの画面フォームの入力データあるいは所定データと一緒に送信された作業ＩＤ／ページＩＤ／キーワードをもとにチェックを行って作業を進めることにより、データ送受信量を必要最小限したり、前ページの入力データの改ざんを防止したり、および不正なページへの分岐を防止したりなどすることが可能となる。
【００１６】
【実施例】
次に、図１から図９を用いて本発明の実施の形態および動作を順次詳細に説明する。
【００１７】
図１は、本発明のシステム構成図を示す。
図１において、サーバ１は、ＷＷＷサーバであって、ネットワークに接続してクライアント１１に画面フォームをダウンロードして表示させ、その画面上から入力されたデータの送信を受けて作業を行ったりなどするものであり、ここでは、作業領域２、制御手段３、画面フォームデータ６などから構成されるものである。
【００１８】
作業領域２は、作業毎に作業域（１）、（２）・・・を作成するためのものである。
作業域（１）、（２）・・・は、作業毎に作成するものであって、作業ＩＤ、ページＩＤ、キーワード、その他の入力データなどを格納するものである。
【００１９】
制御手段３は、全体を統括制御するものであって、ここでは、画面に関する制御を行うものであり、ページ制御手段４および作業管理手段５などから構成されるものである。
【００２０】
ページ制御手段３は、ページＩＤの生成、検査、ページの移動、入力データに対する処理などを行うものである。
作業域管理手段４は、作業ＩＤを生成、検索、作業毎の領域作成、領域破壊などを行うものである。
【００２１】
画面フォームデータ６は、作業毎のデータを入力する画面フォームである。
クライアント１１は、ＷＷＷブラウザであって、ネットワークを介してサーバ（ＷＷＷサーバ）１に接続し、画面フォームのダウンロードを受けて表示装置上に画面を表示し、画面上の入力域にデータ入力してサーバ１に送信することを繰り返し作業を行うための端末である。
【００２２】
次に、図２から図５のフローチャートの順番に図１の構成の動作を詳細に説明する。
図２から図５は、本発明の動作説明フローチャートを示す。ここで、サーバ１、クライアント１１は、図１のサーバ１、クライアント１１である。
【００２３】
図２において、Ｓ１は、サーバ１が作業ＩＤの生成を行う。例えば作業ＩＤ＝Ｗ０１を生成する。
Ｓ２は、作業域の生成を行う。
【００２４】
Ｓ３は、作業域の初期化を行う。これは、Ｓ２で作成した作業域の初期化を行う。
Ｓ４は、作業ＩＤ（Ｗ０１）を作業域に保存する。これらＳ１からＳ４は、図１の作業域管理手段５が、クライアントから指定（画面上から選択）された作業を開始するに先立ち、指定された作業の作業ＩＤを生成、作業域を作成、作成した作業域を初期化して使用できる状態にし、作業ＩＤ（例えばＷ０１）を保存する。
【００２５】
Ｓ５は、最初のページのページＩＤ（Ｐ０１）を生成する。
Ｓ６は、ページＩＤ（Ｐ０１）を作業域に保存する。
Ｓ７は、最初のページの表示部（ｖｉｅｗ＿１）と、データ処理部（ｃｏｎｔｒｏｌ＿１）のＵＲＬを作業域に保存する。
【００２６】
Ｓ８は、最初のページの表示部へ移動する。この移動は、図示のＲｅｄｉｒｅｃｔコマンドをクライアント１１に送信し、クライアント１１からＧｅｔコマンドを送信されてサーバ１から画面フォームを送信し、クライアント１１に最初のページの画面を表示させるという手順で行う。以下順次説明する。
【００２７】
Ｓ９は、ページ数分の繰り返しを行う。これは、直前にサーバから送信されてきた、ここでは、上段に図示の下記のＲｅｄｉｒｅｃｔコマンドに対応した処理を開始する。
【００２８】
Redirect  表示部ＵＲＬ＋作業ＩＤ＋ページＩＤ
具体的には,下記Ｒｅｄｉｒｅｃｔコマンドである。
Redirct  view_1?WorkID=W01&PageID=P01
Ｓ１０は、Ｒｅｄｉｒｅｃｔコマンドを受信したため、指定されたＵＲＬ（最初のページの表示部ｖｉｅｗ＿１）へ自動的に移動する図示の下記のＧｅｔコマンドをサーバへ送信する。
【００２９】
Get表示部ＵＲＬ＋作業ＩＤ＋ページＩＤ
具体的には、下記のＧＥＴコマンドである。
Get  view_1?WorkID=W01&PageID=P01
図３のＳ１１は、作業域に保存した作業ＩＤと、受信した作業ＩＤが一致するか判別する。これは、受信されたＧＥＴコマンド中の作業ＩＤと、作業域に保存した作業ＩＤ（例えば図２のＳ４で保存した作業ＩＤ＝Ｗ０１）とが一致するか判別する。ＹＥＳの場合には、Ｓ１３に進む。ＮＯの場合には、保存しておいた作業ＩＤと、ＧＥＴコマンド中に設定されてきた作業ＩＤとが一致しなかったので、Ｓ１２でページＩＤを再生成し、最新の表示部のＵＲＬへＲｅｄｉｒｅｃｔコマンドで強制的に移動、または、作業を強制終了（作業ＩＤのために準備した作業域を破壊（解放））する。
【００３０】
Ｓ１３は、同様に、作業域に保存したページＩＤと、受信したページＩＤが一致するか判別する。これは、受信されたＧＥＴコマンド中のページＩＤと、作業域に保存したページＩＤ（例えば図２のＳ６で保存したページＩＤ＝Ｐ０１）とが一致するか判別する。ＹＥＳの場合には、Ｓ１５に進む。ＮＯの場合には、保存しておいたページＩＤと、ＧＥＴコマンド中に設定されてきたページＩＤとが一致しなかったので、Ｓ１４でページＩＤを再生成し、最新の表示部のＵＲＬへＲｅｄｉｒｅｃｔコマンドで強制的に移動させる。
【００３１】
Ｓ１５は、同様に、作業域に保存した表示部のＵＲＬと、自身のＵＲＬが一致するか判別する。これは、キーワードのチェックを行う１つの例であって、受信されたＧＥＴコマンド中の表示部のＵＲＬ（例えばＶｉｅｗ＿１）と、作業域に保存した表示部のＵＲＬ（例えば図２のＳ７で保存した表示部のＵＲＬ＝ｖｉｅｗ＿１）とが一致するか判別する。ＹＥＳの場合には、Ｓ１７に進む。ＮＯの場合には、保存しておいた表示部のＵＲＬと、ＧＥＴコマンド中に設定されてきた表示部のＵＲＬ（キーワードの１種）とが一致しなかったので、Ｓ１６でページＩＤを再生成し、最新の表示部のＵＲＬへＲｅｄｉｒｅｃｔコマンドで強制的に移動させる。
【００３２】
以上のＳ１１、Ｓ１３、Ｓ１５のチェックでＯＫ（ＹＥＳ）となった場合には、クライアント１１からのＧｅｔコマンドによる画面フォームの要求が正規の資格がありと判明したので、Ｓ１７以降の処理を続行する。一方、Ｓ１１、Ｓ１３、Ｓ１５で、作業ＩＤ，ページＩＤ，キーワード（ここでは、表示部のＵＲＬ）がサーバ１の作業域に保存されているものと１つでも不一致になった場合（例えばＲｅｄｉｒｃｔコマンドをクライアント１１に送信し、クライアント１１が作業ＩＤ，ページＩＤを書き替えて別の作業やページに故意に移動しようとした場合）に不正な要求と判明したので、最新のページの画面に強制的にＲｅｄｉｒｅｃｔコマンドで移動させて最新のページの画面（例えば初期画面）に強制的に戻り表示させるようにすることが可能となる。
【００３３】
Ｓ１７は、作業域から、表示対象のデータを受け取り、クライアントへ画面フォーム（ＨＴＭＬなど）を送信する。その際、クライアントに画面フォームをキャッシュされないようにヘッダなどを設定する（これで、クライアント１１では、バックボタンを押下しても前のページの画面に移動不可となる）。このＳ１７でサーバ１からクライアント１１に送信するデータは図示の下記の例である。
【００３４】
0004136233.tif 000002
図４のＳ１８は、クライアント１１が画面フォームの表示を行う。これは、サーバ１からＳ１７で送信されてきたデータを受信したクライアント（ブラウザ）１１が受信したデータ（画面フォーム）をもとに画面（ページ）を表示する（後述する図７の（ｅ）のページ１の画面を表示する）。
【００３５】
Ｓ１９は、画面フォームの入力を行う。これは、Ｓ１８で表示した画面、例えば後述する図７の（ｅ）の表示された画面上の入力フィールドからデータ（ここでは、ユーザＩＤ、パスワード）を入力する。
【００３６】
Ｓ２０は、入力完了後、作業ＩＤとページＩＤを入力値と一緒に送信する。例えば図示の下記のようにして送信する。
・入力値＋作業ＩＤ＋ページＩＤ
具体的には図示の下記のようにして送信する。
【００３７】
Get  Control_1?WorkID=W01&PageID=P01
または
Post  Contro_1  WorkID=W01&PageID=P01など
Ｓ２１は、作業域に保存した作業ＩＤと、受信した作業ＩＤが一致するか判別する。これは、受信したコマンドあるいはデータ中の作業ＩＤと、作業域に保存した作業ＩＤ（例えば図２のＳ４で保存した作業ＩＤ＝Ｗ０１）とが一致するか判別する。ＹＥＳの場合には、Ｓ２３に進む。ＮＯの場合には、保存しておいた作業ＩＤと、コマンドあるいはデータ中に設定されてきた作業ＩＤとが一致しなかったので、Ｓ２２でページＩＤを再生成し、最新の表示部のＵＲＬへＲｅｄｉｒｅｃｔコマンドで強制的に移動、または、エラー表示、または作業を強制終了（当該作業ＩＤのために準備した作業域を破壊（解放））する。
【００３８】
Ｓ２３は、同様に、作業域に保存したページＩＤと、受信したページＩＤが一致するか判別する。これは、受信したコマンドあるいはデータ中のページＩＤと、作業域に保存したページＩＤ（例えば図２のＳ６で保存したページＩＤ＝Ｐ０１）とが一致するか判別する。ＹＥＳの場合には、Ｓ２５に進む。ＮＯの場合には、保存しておいたページＩＤと、コマンドあるいはデータ中に設定されてきたページＩＤとが一致しなかったので、Ｓ２４でページＩＤを再生成し、最新の表示部のＵＲＬへＲｅｄｉｒｅｃｔコマンドで強制的に移動、または、エラー表示、または作業を強制終了（当該作業ＩＤのために準備した作業域を破壊（解放））する。
【００３９】
Ｓ２５は、同様に、作業域に保存した表示部のＵＲＬと、自身のＵＲＬが一致するか判別する。これは、キーワードのチェックを行う１つの例であって、受信したコマンドあるいはデータ中の表示部のＵＲＬ（例えばＶｉｅｗ＿１）と、作業域に保存した表示部のＵＲＬ（例えば図２のＳ７で保存した表示部のＵＲＬ＝ｖｉｅｗ＿１）とが一致するか判別する。ＹＥＳの場合には、Ｓ２７に進む。ＮＯの場合には、保存しておいた表示部のＵＲＬと、コマンドあるいはデータ中に設定されてきた表示部のＵＲＬ（キーワードの１種）とが一致しなかったので、Ｓ２６でページＩＤを再生成し、最新の表示部のＵＲＬへＲｅｄｉｒｅｃｔコマンドで強制的に移動、または、エラー表示、または作業を強制終了（当該作業ＩＤのために準備した作業域を破壊（解放））する。
【００４０】
以上のＳ２１、Ｓ２３、Ｓ２５のチェックでＯＫ（ＹＥＳ）となった場合には、クライアント１１からの送信されてきたデータが正当なものと判明したので、Ｓ２７以降の処理を続行する。一方、Ｓ２１、Ｓ２３、Ｓ２５で、作業ＩＤ，ページＩＤ，キーワード（ここでは、表示部のＵＲＬ）がサーバ１の作業域に保存されているものと１つでも不一致になった場合に不正なデータと判明したので、最新のページの画面に強制的にＲｅｄｉｒｅｃｔコマンドで移動させて最新のページの画面（例えば初期画面）に強制的に戻り表示させ、またはエラー表示、または強制終了させることが可能となる。
【００４１】
図５のＳ２７は、画面フォームの内容の処理・作業域への格納などを行う。これは、Ｓ２１、Ｓ２３、Ｓ２５のＹＥＳで正当なデータであると判明したので、当該データをもとに所定の処理や作業域への格納などを行う。
【００４２】
Ｓ２８は、次のページのページＩＤ（Ｐ０２）を生成する。
Ｓ２９は、ページＩＤ（Ｐ０２）を作業域に保存する。
Ｓ３０は、次のページの表示部（ｖｉｅｗ＿２）とデータ処理部（ｃｏｎｔｒｏｌ＿２）のＵＲＬを作業域に保存する。
【００４３】
Ｓ３１は、次のページの表示部へ移動をする。これは、既述した図２のＳ８と同様にＲｅｄｉｒｃｔコマンドとして図示のものをクライアントに送信する。
Ｓ３２は、ページ数分の繰り返しを行う。これは、以降は、既述した図２のＳ１０からＳ３１までをページ数分だけ繰り返し行う。
【００４４】
以上のように、サーバ１が作業ＩＤ、ページＩＤ、キーワード（表示部のＵＲＬ）を作業域に保存し、ＲｅｄｉｒｃｔコマンドでクライアントにＧｅｔコマンドで画面フォームを要求させたときに当該Ｇｅｔコマンド中の作業ＩＤ、ページＩＤ、キーワード（表示部のＵＲＬ）が一致したときに画面フォームをクライアントにダウンロードしたり、クライアントからの画面フォームから入力したデータを受信したときに同様に作業ＩＤ、ページＩＤ、キーワードが作業域のものと一致したときに当該入力データの処理を行い、それ以外のときに所定のページに移動させたり、エラー表示したり、あるいは強制終了したりし、不正なデータの改ざんを防止することが可能となる。
【００４５】
図６は、本発明の他の動作説明フローチャートを示す。
図６において、Ｓ４１は、バックボタンを押下する。これは、前提として、現在、表示しているページをページ２（ｖｉｅｗ＿２）とした場合に、クライアントのブラウザの画面上のバックボタンを押下して前ページに戻るように、ユーザが指示する。
【００４６】
Ｓ４２は、前のページの制御部（ｃｏｎｔｒｏｌ＿１）がリダイレクトだったため履歴に残っていないため、表示部（ｖｉｅｗ＿１）を表示しようとするが、しかし、キャッシュに残っていないため、サーバ１に前のページ（ｖｉｅｗ＿１）を要求する。このときの要求するコマンドが図示の下記である。
【００４７】
Get表示部ＵＲＬ＋作業ＩＤ＋ページＩＤ
具体的には図示の下記である。
Get  view_1?WorkID=W01&PageID=P01
Ｓ４３は、作業域に保存した作業ＩＤと受信した作業ＩＤが一致か判別する。ＹＥＳの場合には、Ｓ４４に進む。ＮＯの場合には、既述したＳ２２で所定の最新ページに移動、またはエラー表示、または強制終了する。
【００４８】
Ｓ４４は、作業域に保存したページＩＤと受信したページＩＤが一致か判別する。ＹＥＳの場合には、Ｓ４５に進む。ＮＯの場合には、既述したＳ２４で所定の最新ページに移動、またはエラー表示、または強制終了する。
【００４９】
Ｓ４５は、ページＩＤ（Ｐ０３）を生成する。
Ｓ４６は、ページＩＤ（Ｐ０３）を作業域に保存する。
Ｓ４７は、最新のページの表示部へ移動を行う。これは、既述したＳ８と同様に、右側に図示のＲｅｄｉｒｅｃｔコマンドをクライアントに送信する。
【００５０】
Ｓ４８は、Ｒｅｄｉｒｅｃｔコマンドを受信したため、指定されたＵＲＬ（最新のページの表示部、ｖｉｅｗ＿２）へ自動的に移動する。
以上のように、クライアントのブラウザの画面上のバックボタンをユーザが押下しても前ページへ移動できず、たとえ前ページのＧｅｔコマンドを送信してもＳ４４のＮＯで所定の最新のページ（例えば初期画面）に強制的に移動されてしまう、または、エラー表示、または強制終了してしまい、前ページに戻ってデータを改ざんできなくすることが可能となる。
【００５１】
図７および図８は、本発明の説明図を示す。
図７の（ａ）は、作業呼出画面例を示す。この作業呼出画面は、作業開始時に、サーバ１のホームページからダウンロードしてクライアント１１のブラウザに表示された画面例であって、これからいずれの作業を行うかを選択する画面の例である。ここでは、ユーザ登録を選択する。
【００５２】
図７の（ｂ）は、図７の（ａ）でユーザ登録という作業が選択された旨の通知を受けたので、サーバが選択された作業を開始する前の処理の例を示す。ここでは、図示の下記の処理を行う。
【００５３】
・作業ＩＤの生成（Ｗ０１）
・作業域の取得・初期化
・作業ＩＤの保存
・最初のページのページＩＤを生成（Ｐ０１）
・最初のページの表示部のＵＲＬ（ｖｉｅｗ＿１）とデータ処理部のＵＲＬ（ｃｏｎｔｒｏｌ＿１）を作業域に保存する。
【００５４】
・最初のページの表示部へ移動
ここで、作業ＩＤは図７の（ａ）で選択された例えば「ユーザ登録」という作業のＩＤ（例えば作業ＩＤ＝Ｗ０１）を生成する。作業域の取得・初期化は、生成した作業ＩＤ用の作業域を取得し、初期化を行う。作業ＩＤの保存は、生成した作業域に作業ＩＤを保存する。最初のページのページＩＤは、これから作業を開始し、最初に戻り繰り返すときに表示するページのＩＤである。最初のページの表示部のＵＲＬ（ｖｉｅｗ＿１）は、最初のページの表示部（画面を表示するＨＴＭＬ言語などで記述された表示処理の部分）のＵＲＬ（例えばｖｉｅｗ＿１）である。最初のページのデータ処理部のＵＲＬ（ｃｏｎｔｒｏｌ＿１）は、最初のページのデータ処理部（画面上からデータを入力させたりなどのＨＴＭＬ言語などで記述されたデータ処理の部分）のＵＲＬ（例えばｃｏｎｔｒｏｌ＿１）である。最初のページの表示部へ移動は、リダイレクトコマンドをクライアントに送信して当該クライアントからＧｅｔコマンドを送信させて最初のページに移動（最初のページをクライアントのブラウザの画面上に表示）するという一連の処理の実行を開始することを表す。
【００５５】
図７の（ｃ）は、図７の（ｂ）でクライアントがリダイレクトを要求されたため、最初のページの表示部へ自動的に移動することを表す。これは、既述した例えば図２のＳ１０に相当する。
【００５６】
図７の（ｄ）は、図７の（ｃ）のクライアントからのＧｅｔコマンドによる要求に応じた処理の例を示す。
・作業ＩＤの確認
・ページＩＤの確認
・表示部のＵＲＬの確認
・画面フォームの送信（キャッシュされない指定を行う）
これらは、例えば既述したＳ１１、Ｓ１３、Ｓ１５、Ｓ１７の処理を行う様子を示す。
【００５７】
図７の（ｅ）は、図７の（ｄ）で画面フォームの送信を受けたクライアント側で表示したページ１の画面例を示す。これは、図７の（ａ）の画面上で選択した作業「ユーザ登録」を行うための画面例であって、ユーザＩＤおよびパスワードについてそれぞれ入力フィールドを持つ画面である。ユーザがユーザＩＤおよびパスワードをキー入力するとそのデータおよび既述したように作業ＩＤ、ページＩＤ、キーワード（ここでは、表示部のＵＲＬ（ｖｉｅｗ＿１））を、サーバ１に送信する。
【００５８】
図８の（ｆ）は、図７の（ｅ）の画面上から入力されたデータおよび作業ＩＤ、ページＩＤ、表示部のＵＲＬ（ｖｉｅｗ＿１）をもとにチェックなどの図示の下記の処理を行う例を示す。，
・最初のページの受信処理：
・作業ＩＤの確認
・ページＩＤの確認
・制御部（表示部）のＵＲＬの確認
・次のページのページＩＤを生成（Ｐ０２）
・次のページの表示部のＵＲＬ（ｖｉｅｗ＿２）と、データ処理部のＵＲＬ（ｃｏｎｔｒｏｌ＿２）を作業域に保存
・次のページの表示部へ移動
これらは、例えば既述したＳ１１、Ｓ１３、Ｓ１５、Ｓ１７の処理を行う様子を示す。
【００５９】
図８の（ｇ）は、既述した図７の（ｃ）と同様に、図７の（ｆ）でクライアントがリダイレクトを要求されたため、次のページの表示部へ自動的に移動することを表す。
【００６０】
図８の（ｈ）は、図８の（ｇ）のクライアントからのＧｅｔコマンドによる要求に応じた処理の例を示す。
・作業ＩＤの確認
・ページＩＤの確認
・表示部のＵＲＬの確認
・画面フォームの送信（キャッシュされない指定を行う）
これらは、例えば既述したＳ１１、Ｓ１３、Ｓ１５、Ｓ１７の処理を行う様子を示す。
【００６１】
図８の（ｉ）は、図８の（ｈ）で画面フォームの送信を受けたクライアント側で表示したページ２の画面例を示す。これは、図７の（ｅ）の画面上で入力したデータ（ユーザＩＤ、パスワード）について確認を行うための画面例である。ユーザが登録ボタン、あるいは戻るボタンのいずれかを押下すると、その旨のデータ、および作業ＩＤ，ページＩＤ（Ｐ０２），キーワード（表示部のＵＲＬ（ｖｉｅｗ＿２））を、サーバ１に送信する。そして、図８の（ｇ）以降と同様の処理を繰り返す。
【００６２】
以上のように、既述した図２から図６のフローチャートに示すように制御することで、サーバ側で意図したページへの移動のみを許可することが可能となる。ここで、クライアント（ブラウザ）側で移動するページＩＤをサーバ側で意図しないページにたとえ修正しても当該意図しないページへの移動を禁止して前ページなどのデータの改ざんをして各ページ毎のエラーチェックなどを無効にしてしまい複数ページに渡るデータの間の矛盾発生を防止することが可能となる。
【００６３】
図９は、本発明のキーワード例を示す。これは、既述した作業ＩＤ、ページＩＤのチェック（作業域に保存した作業ＩＤ，ページＩＤと、クライアント側からの画面フォームの要求あるいはデータ送信された時に、サーバ側で当該要求などのＵＲＬあるいはデータに付加されている作業ＩＤ，ページＩＤがそれぞれ一致するかのチェック（例えばＳ１１、Ｓ１３のチェック））に加えて、更に、正当なプログラムあるいはＵＲＬが要求などしているかをチェックするときの様子を示す。
【００６４】
図９の（ａ）は、プログラム名の場合を示す。プログラム名の場合には、画面のページ毎に表示部（ｖｉｅｗ＿１など）と、データ処理部（ｃｏｎｔｒｏｌ＿１）とがあるので、これら複数ページの表示部およびデータ処理部をまとめたディレクトリの名前（ここでは、作業プログラムＡなど）を、当該複数ページに渡る一連の作業中にキーワードとして使用するようにしてもよい。
【００６５】
図９の（ｂ）は、ＵＲＬの場合を示す。
図９の（ｂ−１）は、アプリケーションが存在するディレクトリを”ｓａｍｐｌｅ”とし、作業を示すキーワードがｓａｍｐｌｅ／ｗｏｒｋｐｒｏｇｒａｍ＿ａ，ｓａｍｐｌｅ／ｗｏｒｋｐｒｏｇｒａｍ＿ｂとなる例を示す。
【００６６】
図９の（ｂ−２）は、／ｓａｍｐｌｅの例を示す。ここは、例えば図示の下記のようである。
0004136233.tif 000003
【００６７】
【発明の効果】
以上説明したように、本発明によれば、サーバ１上で作業毎に作業ＩＤ／ページＩＤ／キーワードを管理し、クライアント１１からの画面フォームの入力データなどと一緒に送信された作業ＩＤ／ページＩＤ／キーワードをもとにチェックを行って作業を進める構成を採用しているため、データ送受信量を必要最小限にし、前ページの入力データの改ざんを防止し、かつ不正なページへの分岐を防止することが可能となる。
【図面の簡単な説明】
【図１】本発明のシステム構成図である。
【図２】本発明の動作説明フローチャート（その１）である。
【図３】本発明の動作説明フローチャート（その２）である。
【図４】本発明の動作説明フローチャート（その３）である。
【図５】本発明の動作説明フローチャート（その４）である。
【図６】本発明の他の動作説明フローチャートである。
【図７】本発明の説明図（その１）である。
【図８】本発明の説明図（その２）である。
【図９】本発明のキーワード例である。
【符号の説明】
１：サーバ（ＷＷＷサーバ）
２：作業域
３：制御手段
４：ページ制御手段
５：作業管理手段
６：画面フォームデータ
１１：クライアント（ブラウザ）
【図１】
0004136233.tif 000004
【図２】
0004136233.tif 000005
【図３】
0004136233.tif 000006
【図４】
0004136233.tif 000007
【図５】
0004136233.tif 000008
【図６】
0004136233.tif 000009
【図７】
0004136233.tif 000010
【図８】
0004136233.tif 000011
【図９】
0004136233.tif 000012