(57)【要約】【課題】サーバ側が意図しない処理の発生を防止すること。【解決手段】サーバ処理プログラムは、端末からの要求に応じ、第１のプログラムを生成し、当該第１のプログラムへの入力様式を前記端末に返却する第１の返却手順と、前記入力様式に対する入力情報に基づき所定の処理を実行し、前記所定の処理の結果を含むファイルを生成し、前記ファイルへのアドレス情報を前記端末に返却する第２の返却手順とをコンピュータに実行させ、前記第１のプログラムは、当該第１のプログラムの生成後の１回目の前記入力情報の受信に応じ、前記第２の返却手順を前記コンピュータに実行させ、２回目以降の前記入力情報の受信に応じ、前記第２の返却手順を前記コンピュータに実行させない。【選択図】図５
2019106062.tif 000002
【特許請求の範囲】
【請求項１】
端末からの要求に応じ、第１のプログラムを生成し、当該第１のプログラムへの入力様式を前記端末に返却する第１の返却手順と、
前記入力様式に対する入力情報に基づき所定の処理を実行し、前記所定の処理の結果を含むファイルを生成し、前記ファイルへのアドレス情報を前記端末に返却する第２の返却手順とをコンピュータに実行させ、
前記第１のプログラムは、当該第１のプログラムの生成後の１回目の前記入力情報の受信に応じ、前記第２の返却手順を前記コンピュータに実行させ、２回目以降の前記入力情報の受信に応じ、前記第２の返却手順を前記コンピュータに実行させない、
ことを特徴とするサーバ処理プログラム。
【請求項２】
前記第２の返却手順は、前記所定の処理を実行すると共に、前記第１のプログラムが当該第２の返却手順を前記コンピュータに実行させないように当該第１のプログラムを改変する、
ことを特徴とする請求項１記載のサーバ処理プログラム。
【請求項３】
前記第１の返却手順は、所定のデータを記憶部に記憶し、
前記第１のプログラムは、前記所定のデータが前記記憶部に記憶されている場合には、前記所定のデータを削除して前記第２の返却手順を前記コンピュータに実行させ、前記所定のデータが前記記憶部に記憶されていない場合には、前記第２の返却手順を前記コンピュータに実行させない、
ことを特徴とする請求項１記載のサーバ処理プログラム。
【請求項４】
前記第１の返却手順は、所定のデータを記憶部に記憶し、
前記第２の返却手順は、前記所定のデータを削除し、
前記第１のプログラムは、前記所定のデータが前記記憶部に記憶されている場合には、前記第２の返却手順を前記コンピュータに実行させ、前記所定のデータが前記記憶部に記憶されていない場合には、前記第２の返却手順を前記コンピュータに実行させない、
ことを特徴とする請求項１記載のサーバ処理プログラム。
【請求項５】
端末からの要求に応じ、第１のプログラムを生成し、当該第１のプログラムへの入力様式を前記端末に返却する第１の返却部と、
前記入力様式に対する入力情報に基づき所定の処理を実行し、前記所定の処理の結果を含むファイルを生成し、前記ファイルへのアドレス情報を前記端末に返却する第２の返却部とを有し、
前記第１のプログラムは、当該第１のプログラムの生成後の１回目の前記入力情報の受信に応じ、前記第２の返却部に前記所定の処理を実行させ、２回目以降の前記入力情報の受信に応じ、前記第２の返却部に前記所定の処理を実行させない、
ことを特徴とするサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ処理プログラム及びサーバ装置に関する。
【背景技術】
【０００２】
近年、インターネットに接続される機器が多種多様化している。パーソナルコンピュータのみならず、携帯電話、スマートフォンによるサーバへのアクセスが増加している。さらに、モノのインターネット（ＩｏＴ）のセンサ系端末も急増している。従って、シンクライアント端末（処理の少ないクライアント端末）に対するサーバ側の処理が重要となってきている。
【０００３】
従来技術では、クライアント端末に対する処理をサーバ側の動的処理プログラムで行うことにより、多種多様なクライアント端末に対して、適切な内容の入出力を可能としている。
【０００４】
また、クライアント端末上に、サーバとの入出力状態を管理するためにクッキーと呼ばれる識別子を置いたり、通信路上のセッションＩＤでサーバと入出力状態を共有したりすることが、従来から一般的に行われている。
【０００５】
図１は、クライアント端末とサーバ間における従来の処理の一例を説明するための図である。図１において、サーバは、入力様式返却プログラム及び処理結果返却プログラムを有する。入力様式返却プログラムは、所定の入力様式を返却するプログラムである。処理結果返却プログラムは、入力様式に対する入力情報に基づいて所定の動的処理を実行するプログラムである。すなわち、図１において、処理結果返却プログラムが、上記における動的処理プログラムに該当する。
（Ｓ９０１）クライアント端末は、入力様式返却プログラムのＵＲＬにアクセスし、入力様式を要求する。
（Ｓ９０２）入力様式返却プログラムは、処理結果返却プログラムへの入力様式と、処理結果返却プログラムのＵＲＬとを、クライアント端末に返却する。
（Ｓ９０３）クライアント端末は、返却された入力様式とＵＲＬを取得する。
（Ｓ９０４）クライアント端末は、様式に情報を入力し、入力情報を伴って処理結果返却プログラムのＵＲＬにアクセスする。
（Ｓ９０５）処理結果返却プログラムは、入力情報に基づいて所定の処理を行い、処理結果をクライアント端末に返却する。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】「とほほのｐｅｒｌ入門（概要編）入出力」、［online］、インターネット＜ＵＲＬ：http://www.tohoho-web.com/wwwperl1.htm#InputOutput＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
図１の例では、クライアント端末に対して入出力する、サーバ側の動的処理プログラムである処理結果返却プログラムの所在（ＵＲＬ）が、入出力内容と共にクライアント端末に露見している。入力の所在が露見しているため、Ｓ９０５で返却される処理結果が表示されている画面において、Ｗｅｂブラウザに対する「戻る」等の指示により、入力様式に対する再入力が可能となってしまう。また、Ｓ９０５で返却される処理結果が表示されている状態において、Ｗｅｂブラウザには、処理結果返却プログラムのＵＲＬが表示されてしまう。したがって、この状態においてＷｅｂブラウザに対して「最新の情報に更新」等が指示されると、Ｓ９０４が再実行（すなわち、入力様式に対する再入力が実行）されてしまう。
【０００８】
これらの再入力により、サーバ側の動的処理プログラムの意図しない動作を誘発し、誤ったサーバ処理が行われる可能性がある。さらに、シンクライアント端末ではクッキーやセッションＩＤでの制御が充分に行えない場合があるため、その場合、誤ったサーバ処理を防止できないという課題がある。
【０００９】
本発明は、上記の点に鑑みてなされたものであって、サーバ側が意図しない処理の発生を防止することを目的とする。
【課題を解決するための手段】
【００１０】
そこで上記課題を解決するため、サーバ処理プログラムは、端末からの要求に応じ、第１のプログラムを生成し、当該第１のプログラムへの入力様式を前記端末に返却する第１の返却手順と、前記入力様式に対する入力情報に基づき所定の処理を実行し、前記所定の処理の結果を含むファイルを生成し、前記ファイルへのアドレス情報を前記端末に返却する第２の返却手順とをコンピュータに実行させ、前記第１のプログラムは、当該第１のプログラムの生成後の１回目の前記入力情報の受信に応じ、前記第２の返却手順を前記コンピュータに実行させ、２回目以降の前記入力情報の受信に応じ、前記第２の返却手順を前記コンピュータに実行させない。
【発明の効果】
【００１１】
サーバ側が意図しない処理の発生を防止することができる。
【図面の簡単な説明】
【００１２】
【図１】クライアント端末とサーバ間における従来の処理の一例を説明するための図である。
【図２】第１の実施の形態におけるシステム構成例を示す図である。
【図３】第１の実施の形態におけるサーバ装置１０のハードウェア構成例を示す図である。
【図４】第１の実施の形態におけるサーバ装置１０及びクライアント端末２０のソフトウェア構成例を示す図である。
【図５】第１の実施の形態において実行される処理手順の一例を説明するための図である。
【図６】第１の実施の形態において入力様式返却プログラム１２が実行する処理手順の一例を説明するためのフローチャートである。
【図７】第１の実施の形態において一時処理プログラム１４が実行する処理手順の一例を説明するためのフローチャートである。
【図８】第１の実施の形態において処理結果返却プログラム１３が実行する処理手順の一例を説明するためのフローチャートである。
【図９】第２の実施の形態において実行される処理手順の一例を説明するための図である。
【図１０】第３の実施の形態において実行される処理手順の一例を説明するための図である。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて本発明の実施の形態を説明する。図２は、第１の実施の形態におけるシステム構成例を示す図である。図２において、サーバ装置１０は、１以上のクライアント端末２０とインターネット又はＬＡＮ（Local Area Network）等のネットワークを介して接続される。サーバ装置１０は、所定のサービスを提供する１以上のコンピュータである。クライアント端末２０は、当該所定のサービスに関する画面を表示するＰＣ（Personal Computer）、スマートフォン、タブレット端末等の端末である。
【００１４】
図３は、第１の実施の形態におけるサーバ装置１０のハードウェア構成例を示す図である。図３のサーバ装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００１５】
サーバ装置１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記憶した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１６】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従ってサーバ装置１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１７】
図４は、第１の実施の形態におけるサーバ装置１０及びクライアント端末２０のソフトウェア構成例を示す図である。
【００１８】
図４において、クライアント端末２０は、Ｗｅｂブラウザ２１を有する。Ｗｅｂブラウザ２１は、一般的なＷｅｂブラウザである。以下において、クライアント端末２０が実行する処理は、基本的に、Ｗｅｂブラウザ２１がクライアント端末２０に実行させる処理である。
【００１９】
一方、サーバ装置１０は、Ｗｅｂサーバ１１、入力様式返却プログラム１２及び処理結果返却プログラム１３等を有する。Ｗｅｂサーバ１１は、クライアント端末２０からの要求を受信し、当該要求（ＨＴＴＰ（HyperText Transfer Protocol）リクエスト）に応じたプログラムを呼び出す。本実施の形態では、入力様式返却プログラム１２又は処理結果返却プログラム１３が呼び出される。Ｗｅｂサーバ１１は、呼び出したプログラムから出力される情報を含む応答（ＨＴＴＰレスポンス）をクライアント端末２０へ返信する。
【００２０】
入力様式返却プログラム１２は、入力様式を示す画面（Ｗｅｂページ）の出力をサーバ装置１０に実行させるプログラムである。以下、入力様式を示す画面を、単に「入力様式」という。
【００２１】
処理結果返却プログラム１３は、入力様式に対する入力情報に基づいて所定の動的処理をサーバ装置１０に実行させるプログラムである。
【００２２】
なお、以下において、入力様式返却プログラム１２又は処理結果返却プログラム１３が実行することとして記載される処理は、厳密には、入力様式返却プログラム１２又は処理結果返却プログラム１３がサーバ装置１０のＣＰＵ１０４に実行させる処理である。
【００２３】
図５は、第１の実施の形態において実行される処理手順の一例を説明するための図である。なお、図５の説明において、便宜上、Ｗｅｂサーバ１１が実行する処理については省略される。
（Ｓ１１０）クライアント端末２０は、入力様式返却プログラム１２のＵＲＬにアクセスし、入力様式を要求する。
（Ｓ１２０）入力様式返却プログラム１２は、入力様式の要求に応じ、例えば、クライアント識別子を取得すると共に、一時処理プログラム１４を生成する。この際、入力様式返却プログラム１２は、当該一時処理プログラム１４のファイル名を、当該クライアント識別子を含むファイル名とする。多数のクライアント端末２０に対応する一時処理プログラム１４を区別可能とするためのである。なお、クライアント識別子としては、ネットワークを介してクライアント端末２０から取得できる、ホスト名等が利用されてもよい。また、一時処理プログラム１４は、入力様式返却プログラム１２に内包されていてもよいし、補助記憶装置１０２等に記憶されていてもよい。後者の場合、オリジナルの一時処理プログラム１４が、上記したファイル名のファイルとしてコピーされればよい。
（Ｓ１３０）入力様式返却プログラム１２は、一時処理プログラム１４への入力様式と、クライアント識別子を含むファイル名を有する一時処理プログラム１４のＵＲＬとをクライアント端末２０に返却する。
（Ｓ１４０）クライアント端末２０は、返却された入力様式とＵＲＬを取得する。
（Ｓ１５０）クライアント端末２０は、入力様式に情報（以下、「入力情報」という。）を入力し、入力情報を伴って、クライアント識別子を含むファイル名を有する一時処理プログラム１４のＵＲＬにアクセスする。
（Ｓ１６０）一時処理プログラム１４は、クライアント識別子及び入力情報を取得し、当該クライアント識別子及び当該入力情報を引数として、処理結果返却プログラム１３を呼び出す。
（Ｓ１７０）処理結果返却プログラム１３は、当該クライアント識別子を含むファイル名を有する一時処理プログラム１４の内容（定義）を、処理結果返却プログラム１３を呼び出さないように書き換える（改変する）。なお、当該一時処理プログラム１４の書き換え（改変）には、ファイルを削除する場合も含まれる。
（Ｓ１８０）処理結果返却プログラム１３は、引数で与えられた入力情報に基づいて所定の処理を行い、処理結果を含むファイルを生成し、当該ファイルに対するＵＲＬ（アドレス情報）へのリダイレクト命令をＷｅｂサーバ１１に出力する。その結果、Ｗｅｂサーバ１１から当該ＵＲＬがクライアント端末２０に返却される。なお、当該ファイルのファイル名は、引数で与えられたクライアント識別子を含む。多数のクライアント端末２０に対する処理結果を区別可能とするためのである。斯かるファイル名を含むＵＲＬが返却されることで、クライアント端末２０のＷｅｂブラウザ２１には当該ＵＲＬが表示される。すなわち、処理結果返却プログラム１３のＵＲＬがＷｅｂブラウザ２１に表示されてしまうのを回避することができる。なお、クライアント端末２０は、返却されたＵＲＬへアクセスすることで、処理結果を取得する。
【００２４】
図６は、第１の実施の形態において入力様式返却プログラム１２が実行する処理手順の一例を説明するためのフローチャートである。図６に示す処理手順は、図５のステップＳ１０〜Ｓ１３０を詳細化したものである。
（Ｓ２０１）入力様式返却プログラム１２は、クライアント識別子として、クライアント端末２０のホスト名を取得する。
（Ｓ２０２）入力様式返却プログラム１２は、一時処理プログラム１４を生成する。一時処理プログラム１４のファイル名は当該クライアント識別子を含む。
（Ｓ２０３）入力様式返却プログラム１２は、一時処理プログラム１４への入力様式と一時処理プログラム１４のＵＲＬとを、クライアント端末２０に返却する。
【００２５】
図７は、第１の実施の形態において一時処理プログラム１４が実行する処理手順の一例を説明するためのフローチャートである。図７に示す処理手順は、図５のステップＳ１５０及びＳ１６０を詳細化したものである。
（Ｓ３０１）一時処理プログラム１４は、クライアント識別子として、クライアント端末２０のホスト名を取得する。
（Ｓ３０２）処理結果返却プログラム１３により内容が書き換えられる前であれば、一時処理プログラム１４は、クライアント識別子とクライアント端末２０からの入力情報を引数として、処理結果返却プログラム１３を呼び出す。
（Ｓ３０３）一方、処理結果返却プログラム１３により内容が書き換えられた後であれば、一時処理プログラム１４は、処理できない旨のメッセージをクライアント端末２０に返却する。
【００２６】
すなわち、一時処理プログラム１４は、当該一時処理プログラム１４の生成後の１回目の入力情報の受信の場合には、処理結果返却プログラム１３を呼び出すが、２回目以降の入力情報の受信の場合には、処理結果返却プログラム１３を呼び出さない。
【００２７】
図８は、第１の実施の形態において処理結果返却プログラム１３が実行する処理手順の一例を説明するためのフローチャートである。図８に示す処理手順は、図５のステップＳ１７０及びＳ１８０を詳細化したものである。
（Ｓ４０１）処理結果返却プログラム１３は、引数のクライアント識別子及び入力情報を取得する。
（Ｓ４０２）処理結果返却プログラム１３は、一時処理プログラム１４の内容を、処理できない旨のメッセージをクライアント端末２０に返却するように（すなわち、処理結果返却プログラム１３を呼び出さないように）書き換える。
（Ｓ４０３）処理結果返却プログラム１３は、入力情報に基づく所定の処理を行う。
（Ｓ４０４）処理結果返却プログラム１３は、処理結果ファイルを生成する。ファイル名は当該クライアント識別子を含む。
（Ｓ４０５）処理結果返却プログラム１３は、生成したファイルのＵＲＬに対するリダイレクト命令をＷｅｂサーバ１１へ出力する。
【００２８】
上述したように、第１の実施の形態では、サーバ装置１０側の動的処理プログラムである処理結果返却プログラム１３のうち、クライアント端末２０からの入力を受け付ける部分が一時処理プログラム１４として切り離されることで、処理結果返却プログラム１３の所在をクライアント端末２０から隠蔽することができる。また、一時処理プログラム１４は、入力を受け付けてからサーバ装置１０側で処理結果返却プログラム１３を呼び出した後に、処理結果返却プログラム１３を再度呼び出さないようにする。その結果、入力の露見による再入力での意図しない動作を防止することができる。また、クライアント端末２０に返却する処理結果をサーバ装置１０側で静的なファイルとすることにより、処理結果返却プログラム１３の所在をクライアント端末２０から隠蔽し、出力の露見による再入力での意図しない動作を防止することができる。すなわち、サーバ側が意図しない処理の発生を防止することができる。
【００２９】
次に、第２の実施の形態について説明する。第２の実施の形態では第１の実施の形態と異なる点について説明する。第２の実施の形態において特に言及されない点については、第１の実施の形態と同様でもよい。
【００３０】
図９は、第２の実施の形態において実行される処理手順の一例を説明するための図である。図９中、図５と同一ステップには同一ステップ番号を付し、その説明は適宜省略する。
【００３１】
図９では、Ｓ１２０に続いてＳ１２１が実行される。
（Ｓ１２１）入力様式返却プログラム１２は、一時ファイルを、例えば、補助記憶装置１０２に生成する。一時ファイルのファイル名は、Ｓ１２０において取得されたクライアント識別子を含む。なお、一時ファイルの内容は何でもよく、空ファイルでもよい。
【００３２】
また、Ｓ１５０におけるクライアント端末２０からのアクセスに応じて、Ｓ１６０の前にＳ１５１及びＳ１５２が実行される。
（Ｓ１５１）一時処理プログラム１４は、クライアント識別子を取得し、当該クライアント識別子をファイル名に含む一時ファイルの有無を確認する。
（Ｓ１５２）該当する一時ファイルが有る場合、一時処理プログラム１４は、当該一時ファイルを削除する。この場合、Ｓ１６０（処理結果返却プログラム１３の呼び出し）が実行される。該当する一時ファイルがない場合、一時処理プログラム１４は、Ｓ１６０を実行しない。
【００３３】
また、図９では、Ｓ１７０は実行されない。一時ファイルが削除されることにより、処理結果返却プログラム１３の呼び出しが抑制されるからである。すなわち、一時ファイルが削除された後では、一時処理プログラム１４は、処理できない旨のメッセージをクライアント端末２０に返却する。
【００３４】
上述したように、第２の実施の形態によっても、第１の実施の形態と同様の効果を得ることができる。
【００３５】
次に、第３の実施の形態について説明する。第３の実施の形態では第２の実施の形態と異なる点について説明する。第３の実施の形態において特に言及されない点については、第２の実施の形態と同様でもよい。
【００３６】
図１０は、第３の実施の形態において実行される処理手順の一例を説明するための図である。図１０中、図９と同一ステップには同一ステップ番号を付し、その説明は適宜省略する。
【００３７】
図１０において、Ｓ１５２は実行されずに、代わりにＳ１６０に続いてＳ１７１が実行される。
（Ｓ１７１）処理結果返却プログラム１３は、当該クライアント識別子をファイル名に含む一時ファイルを削除する。
【００３８】
すなわち、第３の実施の形態では、処理結果返却プログラム１３によって一時ファイルの削除が行われる。一時ファイルが削除された後は、一時処理プログラム１４が、処理できない旨のメッセージをクライアント端末２０に返却する。
【００３９】
上述したように、第３の実施の形態によっても、第１又は第２の実施の形態と同様の効果を得ることができる。
【００４０】
なお、第２及び第３の実施の形態において、一時ファイルの代わりに、ＲＤＢ（Relational Database）等のデータベースのレコードが利用されてもよい。すなわち、Ｓ１２１では、一時レコードがデータベースに生成されればよい。この際、一時レコードには、クライアント識別子が登録されればよい。Ｓ１５１では、クライアント識別子を含む一時レコードの有無が確認されればよい。Ｓ１５２又はＳ１７１では、クライアント識別子を含む一時レコードが削除されればよい。
【００４１】
すなわち、一時ファイルの生成は、ファイルやファイル以外の所定のデータを何らかの記憶部に記憶するということに一般化することができる。
【００４２】
入力様式返却プログラム１２及び処理結果返却プログラム１３は、サーバ処理プログラムの一例である。一時処理プログラム１４は、第１のプログラムの一例である。また、入力様式返却プログラム１２は、第１の返却部の一例である。処理結果返却プログラム１３は、第２の返却部の一例である。
【００４３】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００４４】
１０          サーバ装置
１１          Ｗｅｂサーバ
１２          入力様式返却プログラム
１３          処理結果返却プログラム
２０          クライアント端末
２１          Ｗｅｂブラウザ
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
Ｂ            バス
【図１】
2019106062.tif 000003
【図２】
2019106062.tif 000004
【図３】
2019106062.tif 000005
【図４】
2019106062.tif 000006
【図５】
2019106062.tif 000007
【図６】
2019106062.tif 000008
【図７】
2019106062.tif 000009
【図８】
2019106062.tif 000010
【図９】
2019106062.tif 000011
【図１０】
2019106062.tif 000012