(57)【特許請求の範囲】
【請求項１】
クライアント端末とデータ送信装置との間で送受信されるファイルの中継を制御する情報処理装置であって、
前記クライアント端末から前記データ送信装置に送信されるファイルの拡張子が偽装されている場合に、当該ファイルの中継を許可するか否かが設定された第１の中継ルールと、前記データ送信装置から前記クライアント端末に送信されるファイルの拡張子が偽装されている場合に、当該ファイルの中継を許可するか否かが設定された第２の中継ルールとを記憶する記憶手段と、
前記クライアント端末、及び前記データ送信装置から送信されたファイルを取得する取得手段と、
前記取得手段で取得されたファイル内のデータから判定される当該ファイルのファイル形式と当該ファイルのファイル名の拡張子から判定されるファイル形式とが一致するか否かを判定することにより、当該ファイルの拡張子が偽装されているか否かを判定する偽装判定手段と、
前記偽装判定手段による判定結果と、前記記憶手段に記憶された前記第１の中継ルール、又は前記第２の中継ルールとに従って、前記取得手段により取得したファイルの中継を許可するか否かを決定する中継制御手段と、
を備え、
前記中継制御手段は、前記取得手段により取得されたファイルが前記クライアント端末から送信されたファイルである場合には、前記記憶手段に記憶された第１の中継ルールを適用して、当該ファイルの中継を許可するか否かを決定し、一方、前記取得手段により取得されたファイルが前記データ送信装置から送信されたファイルである場合には、前記記憶手段に記憶された第２の中継ルールを適用して、当該ファイルの中継を許可するか否かを決定することを特徴とする情報処理装置。
【請求項２】
前記記憶手段に記憶された第１の中継ルールは、更に、ファイルの中継が許可されるファイル形式を更に含み、
前記取得手段により取得された、前記クライアント端末から送信されたファイル内のデータから判定される当該ファイルのファイル形式が、当該ファイルの中継が許可されるファイル形式であるかを、前記記憶手段に記憶された第１の中継ルールに従って判定する第１の許可形式判定手段を更に備え、
前記中継制御手段は、更に、前記第１の許可形式判定手段により、前記取得手段により取得された、前記クライアント端末から送信されたファイル内のデータから判定される当該ファイルのファイル形式が、当該ファイルの中継が許可されるファイル形式ではないと判定された場合に、前記取得手段により取得した当該ファイルの中継を許可しないことを決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記憶手段に記憶された第２の中継ルールは、更に、ファイルの中継が許可されるファイル形式を更に含み、
前記取得手段により取得された、前記データ送信装置から送信されたファイル内のデータから判定される当該ファイルのファイル形式が、当該ファイルの中継が許可されるファイル形式であるかを、前記記憶手段に記憶された第２の中継ルールに従って判定する第２の許可形式判定手段を更に備え、
前記中継制御手段は、更に、前記第２の許可形式判定手段により、前記取得手段により取得された、前記データ送信端末から送信されたファイル内のデータから判定される当該ファイルのファイル形式が、当該ファイルの中継が許可されるファイル形式ではないと判定された場合に、前記取得手段により取得した当該ファイルの中継を許可しないことを決定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記記憶手段に記憶されている第１の中継ルールは、中継が許可されていないテキストデータを更に含み、
前記取得手段により取得された、前記クライアント端末から送信されたファイル内のデータから判定される当該ファイルのファイル形式に従って、当該ファイルからテキストデータを抽出する抽出方法を決定する第１の決定手段と、
前記第１の決定手段により決定された抽出方法で当該ファイルからテキストデータを取得する第１のテキスト取得手段と、
前記第１のテキスト取得手段で取得したテキストデータが、前記記憶手段に記憶された第１の中継ルールに含まれるテキストデータと一致するかを判定する第１のテキスト判定手段と、
前記中継制御手段は、更に、前記第１のテキスト判定手段で、前記第１のテキスト取得手段で取得したテキストデータが、前記記憶手段に記憶された第１の中継ルールに含まれるテキストデータと一致すると判定された場合、前記取得手段で取得された当該ファイルの中継を許可しないことを決定することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記記憶手段に記憶されている第２の中継ルールは、中継が許可されていないテキストデータを更に含み、
前記取得手段により取得された、前記データ送信装置から送信されたファイル内のデータから判定される当該ファイルのファイル形式に従って、当該ファイルからテキストデータを抽出する抽出方法を決定する第２の決定手段と、
前記第２の決定手段により決定された抽出方法で当該ファイルからテキストデータを取得する第２のテキスト取得手段と、
前記第２のテキスト取得手段で取得したテキストデータが、前記記憶手段に記憶された第２の中継ルールに含まれるテキストデータと一致するかを判定する第２のテキスト判定手段と、
前記中継制御手段は、更に、前記第２のテキスト判定手段で、前記第２のテキスト取得手段で取得したテキストデータが、前記記憶手段に記憶された第２の中継ルールに含まれるテキストデータと一致すると判定された場合、前記取得手段で取得された当該ファイルの中継を許可しないことを決定することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
クライアント端末とデータ送信装置との間で送受信されるファイルの中継を制御し、前記クライアント端末から前記データ送信装置に送信されるファイルの拡張子が偽装されている場合に、当該ファイルの中継を許可するか否かが設定された第１の中継ルールと、前記データ送信装置から前記クライアント端末に送信されるファイルの拡張子が偽装されている場合に、当該ファイルの中継を許可するか否かが設定された第２の中継ルールとを記憶する記憶手段を備える情報処理装置における情報処理方法であって、
取得手段が、前記クライアント端末、及び前記データ送信装置から送信されたファイルを取得する取得工程と、
偽装判定手段が、前記取得工程で取得されたファイル内のデータから判定される当該ファイルのファイル形式と当該ファイルのファイル名の拡張子から判定されるファイル形式とが一致するか否かを判定することにより、当該ファイルの拡張子が偽装されているか否かを判定する偽装判定工程と、
中継制御手段が、前記偽装判定工程による判定結果と、前記記憶手段に記憶された前記第１の中継ルール、又は前記第２の中継ルールとに従って、前記取得工程により取得したファイルの中継を許可するか否かを決定する中継制御工程と、
を備え、
前記中継制御工程は、前記取得工程により取得されたファイルが前記クライアント端末から送信されたファイルである場合には、前記記憶手段に記憶された第１の中継ルールを適用して、当該ファイルの中継を許可するか否かを決定し、一方、前記取得工程により取得されたファイルが前記データ送信装置から送信されたファイルである場合には、前記記憶手段に記憶された第２の中継ルールを適用して、当該ファイルの中継を許可するか否かを決定することを特徴とする情報処理方法。
【請求項７】
クライアント端末とデータ送信装置との間で送受信されるファイルの中継を制御し、前記クライアント端末から前記データ送信装置に送信されるファイルの拡張子が偽装されている場合に、当該ファイルの中継を許可するか否かが設定された第１の中継ルールと、前記データ送信装置から前記クライアント端末に送信されるファイルの拡張子が偽装されている場合に、当該ファイルの中継を許可するか否かが設定された第２の中継ルールとを記憶する記憶手段を備える情報処理装置で読み取り実行可能なプログラムであって、
前記情報処理装置を、
前記クライアント端末、及び前記データ送信装置から送信されたファイルを取得する取得手段と、
前記取得手段で取得されたファイル内のデータから判定される当該ファイルのファイル形式と当該ファイルのファイル名の拡張子から判定されるファイル形式とが一致するか否かを判定することにより、当該ファイルの拡張子が偽装されているか否かを判定する偽装判定手段と、
前記偽装判定手段による判定結果と、前記記憶手段に記憶された前記第１の中継ルール、又は前記第２の中継ルールとに従って、前記取得手段により取得したファイルの中継を許可するか否かを決定する中継制御手段として機能させ、
前記中継制御手段は、前記取得手段により取得されたファイルが前記クライアント端末から送信されたファイルである場合には、前記記憶手段に記憶された第１の中継ルールを適用して、当該ファイルの中継を許可するか否かを決定し、一方、前記取得手段により取得されたファイルが前記データ送信装置から送信されたファイルである場合には、前記記憶手段に記憶された第２の中継ルールを適用して、当該ファイルの中継を許可するか否かを決定することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関し、特に、通信データの制御技術に関するものである。
【背景技術】
【０００２】
ウェブサーバで稼働し電子メールの閲覧や送受信を可能にするウェブメールサービスや、ドキュメントファイルの編集を行うドキュメント管理サービスが提供されている。従来ソフトウェアは、ユーザのコンピュータで実行し利用されてきたが、近年ではサービス提供者のコンピュータでソフトウェアを実行し、ユーザはサービスを利用する形態が増えてきている。このようなサービスはウェブサーバ上で提供されることが多く、ファイルの送受信を行うものが多いため、ウェブアクセスによるファイルの送受信制御が重要となってきている。
【０００３】
ウェブサイトで提供されるサービスは、これまで個人ユーザに利用されることが多かったが、近年では企業などにも利用されることが増えてきている。しかし、企業などでこのようなサービスを利用する場合、機密情報の漏えいが問題となる。例えば、本来使用を許可していない個人で登録したサイトのサービスを使用して、社員がそこに機密性の高いファイルを送信してしまうといった問題が考えられる。このような問題に対応するために社内から利用できるサービスを制限したり、送信されるファイルを検査したりして問題があると判断される場合は送信を禁止するといった送信制御が必要となる。
【０００４】
また、情報漏えいの観点では、ファイルの送信制御が重要となるが、一方、受信に関しても本来必要のないファイルをダウンロードしたり、ウィルスが感染している危険なファイルをダウンロードしたりするといった問題がある。例えば、業務上アクセスの必要がないサイトのファイルをダウンロードしたり、危険性の高いファイルを知らずにダウンロードしたりしてしまうといった問題が考えられる。このような問題に対応するためにファイルを受信可能なサイトを制限したり、受信可能なファイル形式を限定したりするといった受信制御も必要となる。
【０００５】
特定のサイトにのみアクセスを許可する技術としては、例えば特許文献１が開示されている。係る技術によれば、特定のサイトにのみアクセスを許可するといった制御が可能となる。
【０００６】
また、データファイルの形式を判定する技術としては、例えば特許文献２が開示されている。係る技術によれば、データファイルの特徴を解析し、その結果からデータファイルの形式を推定することが可能となる。
【特許文献１】特開２００４−３４８２０２号公報
【特許文献２】特開２００１−１０１０４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、ウェブアクセスによるファイルの送受信を制御するためには、送受信されるファイルのファイル形式を正しく判定することが重要である。例えば、ファイル形式を間違って判定してしまった場合は、ファイルからテキスト情報が正しく抽出できずに、本来送受信を禁止したいファイルの送受信を許可してしまうといった問題が発生してしまう。
【０００８】
更に、送受信可能なファイル形式を制限したい場合、ファイル形式を間違って判定してしまった場合は、本来送受信を禁止したいファイルの送受信を許可してしまうといった問題が発生してしまう。
【０００９】
ＨＴＴＰリクエストにより送信されるファイルのファイル形式を判定するためにはブラウザ等のＨＴＴＰクライアントがＨＴＴＰリクエストヘッダーに付与するＣｏｎｔｅｎｔ−Ｔｙｐｅを利用することができる。
【００１０】
しかしながら、通常ＨＴＴＰクライアントはファイルの拡張子からＣｏｎｔｅｎｔ−Ｔｙｐｅを判定するため、ファイルに間違った拡張子が付与されている場合や、意図的に変更されている場合は、本来のファイル形式とは異なるＣｏｎｔｅｎｔ−Ｔｙｐｅが付与されてしまう。また、Ｃｏｎｔｅｎｔ−ＴｙｐｅはＨＴＴＰクライアントが付与するものであるため、送信者による変更が可能であり、そもそも信頼できないといった問題もある。
【００１１】
そのため、所定のファイル形式の文書データのみを、所定のウェブサイトへの送信許可、及び所定のウェブサイトからの受信許可とする送信制御システムを運用する場合、Ｃｏｎｔｅｎｔ−Ｔｙｐｅに基づく制御のみでは、悪意のあるユーザが、ファイル名の拡張子を、送信／受信が許可されているファイル形式の拡張子に変更することにより、あたかも送信／受信が許可されているファイルであるかのように判断され、送信／受信されてしまう恐れがある。
【００１２】
ウェブサーバは公開ディレクトリに保存されているファイルへのリクエストを受け取ると、ファイルの拡張子からＣｏｎｔｅｎｔ−Ｔｙｐｅを判定し、ＨＴＴＰレスポンスヘッダーに付与する。そのため、間違った拡張子が付与されていたり、意図的に変更されていたりするファイルが公開ディレクトリにアップロードされてしまった場合は、ＨＴＴＰレスポンスヘッダーに本来のファイル形式とは異なるＣｏｎｔｅｎｔ−Ｔｙｐｅが付与されてしまう。
【００１３】
また、ＣＧＩなどのプログラムを経由してファイルをダウンロードする場合は、ＣＧＩプログラムがＣｏｎｔｅｎｔ−Ｔｙｐｅを生成するため、ＣＧＩプログラムがどのファイルに形式に対してもデフォルトのＣｏｎｔｅｎｔ−Ｔｙｐｅを付与したりする場合は、本来のファイル形式とは異なるＣｏｎｔｅｎｔ−ＴｙｐｅがＨＴＴＰレスポンスヘッダーに付与されてしまうといった問題も発生する。
【００１４】
以上の通り、例えば、所定のファイル形式の文書データのみを、所定のウェブサイトからの受信許可とする送信制御システムを運用する場合に、Ｃｏｎｔｅｎｔ−Ｔｙｐｅに基づく制御のみでは、悪意のあるユーザが、ファイル名の拡張子を、受信が許可されているファイル形式の拡張子に変更することにより、あたかも受信が許可されているファイルであるかのように判断され送信されてしまう恐れがある。すなわち、ウィルスなどの有害なデータを誤って受信してしまう恐れがある。
【００１５】
本発明の目的は、クライアント端末からデータ送信装置に送信されるファイルについては、当該ファイルの拡張子が偽装されている場合に、当該ファイルの中継を許可するか否かが設定された第１の中継ルールと、当該ファイルの拡張子が偽装されているかの判定結果とに従って、当該ファイルの中継を許可するか否かを決定し、一方、データ送信装置からクライアント端末に送信されるファイルについては、当該ファイルの拡張子が偽装されている場合に、当該ファイルの中継を許可するか否かが設定された第２の中継ルールと、当該ファイルの拡張子が偽装されているかの判定結果とに従って、当該ファイルの中継を許可するか否かを決定することにより、セキュリティを向上させる仕組みを提供することである。
【課題を解決するための手段】
【００１６】
本発明は、クライアント端末とデータ送信装置との間で送受信されるファイルの中継を制御する情報処理装置であって、前記クライアント端末から前記データ送信装置に送信されるファイルの拡張子が偽装されている場合に、当該ファイルの中継を許可するか否かが設定された第１の中継ルールと、前記データ送信装置から前記クライアント端末に送信されるファイルの拡張子が偽装されている場合に、当該ファイルの中継を許可するか否かが設定された第２の中継ルールとを記憶する記憶手段と、前記クライアント端末、及び前記データ送信装置から送信されたファイルを取得する取得手段と、前記取得手段で取得されたファイル内のデータから判定される当該ファイルのファイル形式と当該ファイルのファイル名の拡張子から判定されるファイル形式とが一致するか否かを判定することにより、当該ファイルの拡張子が偽装されているか否かを判定する偽装判定手段と、前記偽装判定手段による判定結果と、前記記憶手段に記憶された前記第１の中継ルール、又は前記第２の中継ルールとに従って、前記取得手段により取得したファイルの中継を許可するか否かを決定する中継制御手段と、を備え、前記中継制御手段は、前記取得手段により取得されたファイルが前記クライアント端末から送信されたファイルである場合には、前記記憶手段に記憶された第１の中継ルールを適用して、当該ファイルの中継を許可するか否かを決定し、一方、前記取得手段により取得されたファイルが前記データ送信装置から送信されたファイルである場合には、前記記憶手段に記憶された第２の中継ルールを適用して、当該ファイルの中継を許可するか否かを決定することを特徴とする。
【００１７】
本発明は、クライアント端末とデータ送信装置との間で送受信されるファイルの中継を制御し、前記クライアント端末から前記データ送信装置に送信されるファイルの拡張子が偽装されている場合に、当該ファイルの中継を許可するか否かが設定された第１の中継ルールと、前記データ送信装置から前記クライアント端末に送信されるファイルの拡張子が偽装されている場合に、当該ファイルの中継を許可するか否かが設定された第２の中継ルールとを記憶する記憶手段を備える情報処理装置における情報処理方法であって、取得手段が、前記クライアント端末、及び前記データ送信装置から送信されたファイルを取得する取得工程と、偽装判定手段が、前記取得工程で取得されたファイル内のデータから判定される当該ファイルのファイル形式と当該ファイルのファイル名の拡張子から判定されるファイル形式とが一致するか否かを判定することにより、当該ファイルの拡張子が偽装されているか否かを判定する偽装判定工程と、中継制御手段が、前記偽装判定工程による判定結果と、前記記憶手段に記憶された前記第１の中継ルール、又は前記第２の中継ルールとに従って、前記取得工程により取得したファイルの中継を許可するか否かを決定する中継制御工程と、を備え、前記中継制御工程は、前記取得工程により取得されたファイルが前記クライアント端末から送信されたファイルである場合には、前記記憶手段に記憶された第１の中継ルールを適用して、当該ファイルの中継を許可するか否かを決定し、一方、前記取得工程により取得されたファイルが前記データ送信装置から送信されたファイルである場合には、前記記憶手段に記憶された第２の中継ルールを適用して、当該ファイルの中継を許可するか否かを決定することを特徴とする。
【００１８】
本発明は、クライアント端末とデータ送信装置との間で送受信されるファイルの中継を制御し、前記クライアント端末から前記データ送信装置に送信されるファイルの拡張子が偽装されている場合に、当該ファイルの中継を許可するか否かが設定された第１の中継ルールと、前記データ送信装置から前記クライアント端末に送信されるファイルの拡張子が偽装されている場合に、当該ファイルの中継を許可するか否かが設定された第２の中継ルールとを記憶する記憶手段を備える情報処理装置で読み取り実行可能なプログラムであって、前記情報処理装置を、前記クライアント端末、及び前記データ送信装置から送信されたファイルを取得する取得手段と、前記取得手段で取得されたファイル内のデータから判定される当該ファイルのファイル形式と当該ファイルのファイル名の拡張子から判定されるファイル形式とが一致するか否かを判定することにより、当該ファイルの拡張子が偽装されているか否かを判定する偽装判定手段と、前記偽装判定手段による判定結果と、前記記憶手段に記憶された前記第１の中継ルール、又は前記第２の中継ルールとに従って、前記取得手段により取得したファイルの中継を許可するか否かを決定する中継制御手段として機能させ、前記中継制御手段は、前記取得手段により取得されたファイルが前記クライアント端末から送信されたファイルである場合には、前記記憶手段に記憶された第１の中継ルールを適用して、当該ファイルの中継を許可するか否かを決定し、一方、前記取得手段により取得されたファイルが前記データ送信装置から送信されたファイルである場合には、前記記憶手段に記憶された第２の中継ルールを適用して、当該ファイルの中継を許可するか否かを決定することを特徴とする。
【発明の効果】
【００１９】
本発明によれば、クライアント端末からデータ送信装置に送信されるファイルについては、当該ファイルの拡張子が偽装されている場合に、当該ファイルの中継を許可するか否かが設定された第１の中継ルールと、当該ファイルの拡張子が偽装されているかの判定結果とに従って、当該ファイルの中継を許可するか否かを決定し、一方、データ送信装置からクライアント端末に送信されるファイルについては、当該ファイルの拡張子が偽装されている場合に、当該ファイルの中継を許可するか否かが設定された第２の中継ルールと、当該ファイルの拡張子が偽装されているかの判定結果とに従って、当該ファイルの中継を許可するか否かを決定することにより、セキュリティを向上することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態に係るシステムの構成を示す図である。
【図２】情報処理装置のハードウェア構成を示す図である。
【図３】プロキシサーバ１０１の機能構成を示す図である。
【図４】本発明における第１の制御処理の一例を示すフローチャートである。
【図５】本発明における第２の制御処理の一例を示すフローチャートである。
【図６】ルール設定画面の一例を示す図である。
【図７】ルール詳細画面の一例を示す図である。
【図８】ルール移動画面の一例を示す図である。
【図９】ルールＤＢ１０２の一例を示す図である。
【図１０】本発明における第３の制御処理の一例を示すフローチャートである。
【図１１】図１０に示す第３の制御処理のステップＳ１００２の詳細処理を示すフローチャートである。
【図１２】ＵＲＬＤＢ１０３の一例を示す図である。
【図１３】図１０に示す第３の制御処理のステップＳ１００３の詳細処理を示すフローチャートである。
【図１４】ファイル形式と拡張子の対応表の一例を示す図である。
【図１５】図１０に示す第３の制御処理のステップＳ１００４の詳細処理を示すフローチャートである。
【図１６】図１５に示すステップＳ１５０３の詳細処理を示すフローチャートである。
【図１７】ファイル形式１７０１と、そのファイル形式に対して通常付与される拡張子１７０２の対応表の一例である。
【図１８】ファイル形式１８０１と、そのファイル形式のファイルからテキストデータを取得（抽出）するためのプログラム（テキスト抽出プログラム）１８０２の対応表の一例である。
【図１９】図１０に示すステップＳ１００８の詳細処理を示すフローチャートである。
【図２０】図１０に示すステップＳ１００９の詳細処理を示すフローチャートである。
【図２１】図２１は、通信管理テーブル２１００の一例である。
【発明を実施するための最良の形態】
【００２２】
以下、添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
図１は、本発明の一実施形態に係るシステムの構成を示す図である。
【００２３】
図１に示す如く、本実施形態に係るシステムは、プロキシサーバ１０１、ルールＤＢ１０２、ＵＲＬＤＢ１０３、クライアントＰＣ（クライアント端末）１０４−１乃至１０４−３（以後、まとめて「クライアントＰＣ１０４」とする）、ＬＡＮ（ローカルエリアネットワーク）１０５、広域ネットワーク１０６（以下、ネットワーク）、ウェブサーバ（データ送信装置）１０７−１乃至１０７−３（以後、まとめて「ウェブサーバ１０７」とする）により構成されている。以下、本実施形態に係るシステムを構成する。これらについて説明する。
プロキシサーバ１０１は、本発明の情報処理装置として機能する装置であり、クライアントＰＣ１０４とウェブサーバ１０７との間のデータ通信を中継する。
【００２４】
また、プロキシサーバ１０１のＨＤＤ２０４等の記憶部には、クライアントＰＣ１０４からウェブサーバ１０７への通信を許可／禁止するといった制御に使用するルールが登録されているルールＤＢ１０２、及びＷＥＢサイト及びＷＥＢページに掲載されている情報のカテゴリ毎にＵＲＬが登録されているＵＲＬＤＢ１０３を備えている。
【００２５】
すなわち、ＵＲＬＤＢ１０３は、ＷＥＢサイト及びＷＥＢページのＵＲＬが、当該ＵＲＬのカテゴリ毎に登録されているデータベースである。図１２に示すように、ＵＲＬＤＢ１０３には、ＷＥＢサイト及びＷＥＢページのＵＲＬが、ＷＥＢサイト及びＷＥＢページに掲載されている情報の内容やテーマから区分（分類分け）されたカテゴリ毎に登録されている。
【００２６】
また、プロキシサーバ１０１は、さらにルールＤＢ１０２に設定されている情報の登録、修正等を行うための設定ページの提供等を行うウェブサーバ機能なども有している。尚、ルールＤＢ１０２およびＵＲＬＤＢ１０３は、プロキシサーバ１０１内に備えていても、別のコンピュータ内に実装しても構わない。
【００２７】
ＵＲＬＤＢ１０３は、カテゴリごとにウェブサーバ１０７のリソースを表すＵＲＬを登録したデータベースであり、通常、ＵＲＬＤＢの作成業者から購入する場合が多い。ＵＲＬＤＢ１０３の更新は、プロキシサーバ１０１の更新プログラムで行っても良いし、他の手段により更新しても構わない。
【００２８】
クライアントＰＣ１０４は、ウェブサーバ１０７が提供するサービスを利用するユーザが使用する端末装置である。
【００２９】
ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０５は、プロキシサーバ１０１及びクライアントＰＣ１０４をデータ通信可能に相互に接続させるものである。広域ネットワーク１０６は、インターネット等の広域ネットワークを示す。
【００３０】
ウェブサーバ１０７は、様々なサービスを提供するウェブサーバを表す。
【００３１】
図２は、プロキシサーバ１０１のハードウェア構成を示すブロック図である。
【００３２】
図２において、２０１はＣＰＵで、ＲＡＭ２０２やＲＯＭ２０３に記憶されているプログラムやデータを用いてプロキシサーバ１０１全体の制御を行うとともに、プロキシサーバ１０１が行う後述の各処理を実行する。
【００３３】
２０２はＲＡＭで、ＨＤＤ（ハードディスクドライブ）２０４や記録媒体ドライブ２０６からロードされたプログラムやデータ、ネットワークＩ／Ｆ（インターフェース）２０５を介して他の機器から受信したプログラムやデータ等を一時的に記憶するためのエリアや、ＣＰＵ２０１が各種の処理を実行する際に用いるワークエリア等、各種のエリアを適宜提供することができる。
【００３４】
２０３はＲＯＭで、プロキシサーバ１０１の設定データや、ブートプログラム等を記憶する。
【００３５】
２０４はＨＤＤで、ＯＳ（オペレーティングシステム）や、プロキシサーバ１０１が行う後述の各処理をＣＰＵ２０１に実行させるためのプログラムやデータ等を保存するものであり、これらはＣＰＵ２０１による制御に従って適宜ＲＡＭ２０２にロードされ、ＣＰＵ２０１の処理対象となる。
【００３６】
２０５はネットワークＩ／Ｆで、プロキシサーバ１０１を上記ＬＡＮ１０５、広域ネットワーク１０６に接続させるためのものであり、プロキシサーバ１０１はこのネットワークＩ／Ｆ２０５を介してＬＡＮ１０５や広域ネットワーク１０６に接続されている各装置とのデータ通信を行う。
【００３７】
２０６は記録媒体ドライブで、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ／ＲＷ、ＤＶＤ−ＲＡＭ等の記録媒体に記録されているプログラムやデータを読み出し、ＲＡＭ２０２やＨＤＤ２０４に出力する。なお、ＨＤＤ２０４が保持しているデータのうちの一部をこれら記録媒体に記憶させておいても良い。
【００３８】
２０７はキーボード、２０８はマウスやジョイスティック等により構成されているポインティングデバイスで、プロキシサーバ１０１の操作者が操作することで、各種の指示をＣＰＵ２０１に対して入力する入力部として機能する。
２０９は表示部で、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ２０１による処理結果を画像や文字などで表示する。
【００３９】
２１０は外部機器接続Ｉ／Ｆで、周辺機器をプロキシサーバ１０１に接続させるためものポートである。プロキシサーバ１０１は、この外部機器接続Ｉ／Ｆ２１０を介して、周辺機器とのデータ通信を行う。外部機器接続Ｉ／Ｆ２１０は、ＵＳＢやＩＥＥＥ１３９４等により構成されており、通常複数の外部機器接続Ｉ／Ｆ２１０を有する。周辺機器との接続形態は有線／無線を問わない。
【００４０】
２１１はバスで、上述の各部２０１〜２１０を接続する。
【００４１】
なお、プロキシサーバ１０１のハードウェア構成は、図２に示した構成を有するとして説明するが、必ずしも同図の構成を有することに限定するものではなく、プロキシサーバ１０１が行う後述の各種処理を実行可能であればプロキシサーバ１０１の構成は適宜変更しても良い。
【００４２】
また、クライアントＰＣ１０４、ウェブサーバ１０７のハードウェア構成も、これらには一般的なコンピュータを適用するので、周知の如く、概ね図２に示した構成を有する。
【００４３】
図３は、プロキシサーバ１０１の機能構成を示す図である。
【００４４】
図３に示すように、プロキシサーバ１０１は、ルール受付手段３０１、ルール記録手段３０２、通信中継制御手段３０３、通信許可／禁止応答送信手段３０４を備えている。
【００４５】
ルール受付手段３０１は、クライアントＰＣ１０４とウェブサーバ１０７の間で行われる通信の許可／禁止を判断するためのルールの入力を受け付ける。ルール記録手段３０２は、ルール受付手段３０１で受け付けたルール（詳細は後述する図９）をルールＤＢ１０２に登録する。
【００４６】
ＵＲＬＤＢ１０３は、カテゴリごとにウェブサーバー１０７のリソースを表すＵＲＬを集めたデータベースであり、クライアントＰＣ１０４からリクエストされたＵＲＬがどのカテゴリに属するかを判定するために使用される。
【００４７】
通信中継制御手段３０３は、クライアントＰＣ１０４とウェブサーバ１０７との間で行われる通信の中継制御を行う。即ちクライアントＰＣ１０４から送信されたリクエストおよびウェブサーバ１０７から返信されるレスポンスを解析し、それらに含まれる詳細情報とリクエストの送信先であるウェブサーバ１０７のリソースを表すＵＲＬをＵＲＬＤＢ１０３と照らし合わせて得られるカテゴリ情報がルールＤＢ１０２に記録されたルールに適合するか判定し、その結果により通信の中継制御を行う。
【００４８】
通信許可／禁止応答送信手段３０４は、通信中継制御手段３０３で通信を許可した場合は、リクエストを送信したクライアントＰＣ１０３に対してウェブサーバ１０７からのレスポンスを中継する、あるいは禁止した場合はクライアントＰＣ１０３に対して拒否した旨の通知を行う。
【００４９】
なお、プロキシサーバ１０１のＨＤＤ２０４には、ルール受付手段３０１、ルール記録手段３０２、通信中継制御手段３０３、通信許可／禁止応答送信手段３０４としてプロキシサーバを制御させるためのプログラムが記録されている。そして、これらのプログラムをプロキシサーバ１０１のＣＰＵ２０１がＲＡＭ２０２にロードして実行することにより上記各手段３０１〜３０４が実現される。
【００５０】
次に、フローチャートを参照して、プロキシサーバ１０１のＣＰＵ２０１により実行される処理について説明する。
【００５１】
図４は、本発明における第１の制御処理の一例を示すフローチャートであって、プロキシサーバ１０１のＣＰＵ２０１により実行される全体的な処理を示すフローチャートである。
【００５２】
なお、このフローチャートの処理はプロキシサーバ１０１のＣＰＵ２０１がＨＤＤ２０４に格納されるプログラムをＲＡＭ２０２にロードして実行することにより実現される。
【００５３】
まず、プロキシサーバ１０１のＣＰＵ２０１は、クライアントＰＣ１０４から送信されるルールの設定要求を、クライアントＰＣ１０４から受け付けたか否かを判断する（ステップＳ４０１）。そして、プロキシサーバ１０１のＣＰＵ２０１は、ルールの設定要求を受信したと判断した場合には（ステップＳ４０１でＹＥＳ）、ルール設定処理を行う（ステップＳ４０２）。
ステップＳ４０２のルール設定処理の詳細処理は、図５を用いて後述する。
次に、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ４０２のルール設定処理が終了すると、処理をステップＳ４０３に移行する。
【００５４】
また、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ４０１において、クライアントＰＣ１０４からルールの設定要求を受信していないと判定した場合（ＮＯ）、処理をステップＳ４０３に移行する。
【００５５】
プロキシサーバ１０１のＣＰＵ２０１は、クライアントＰＣ１０４から送信される通信中継の要求を、クライアントＰＣ１０４から受け付けたか否かを判定する（ステップＳ４０３）。
【００５６】
そして、プロキシサーバ１０１のＣＰＵ２０１は、クライアントＰＣ１０４から通信中継要求を受信したと判定した場合（ステップＳ４０３でＹＥＳ）、通信中継制御処理を行う（ステップＳ４０４）。
ステップＳ４０４の通信中継制御処理の詳細処理は、図１０を用いて後述する。
そして、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ４０４の通信中継制御処理が終了すると、処理をステップＳ４０５に移行する。
【００５７】
また、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ４０３において、クライアントＰＣ１０４から通信中継要求を受信していないと判定した場合（ＮＯ）、処理をステップＳ４０５に移行する。
【００５８】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ４０５において、クライアントＰＣ１０４からシステム終了指示を受けたか否かを判定する。そして、終了指示を受けていないと判定した場合には（ステップＳ４０５でＮＯ）、処理をステップＳ４０１に戻す。
【００５９】
一方、プロキシサーバ１０１のＣＰＵ２０１は、クライアントＰＣ１０４からシステム終了指示を受け付けたと判定した場合には（ステップＳ４０５でＹＥＳ）、処理を終了する。
【００６０】
即ち、プロキシサーバ１０１のＣＰＵ２０１は、Ｓ４０１〜Ｓ４０４の処理を、クライアントＰＣ１０４からシステム終了の指示を受けるまで（ステップＳ４０５でＹＥＳと判定されるまで）繰り返す。
【００６１】
次に、図５を用いて、図４のステップＳ４０２に示したルール設定処理の詳細処理を説明する。
【００６２】
図５は、本発明における第２の制御処理の一例を示すフローチャートであり、図４のステップＳ４０２のルール設定処理の詳細処理を示すフローチャートである。即ち、本処理は、プロキシサーバ１０１のＣＰＵ２０１によって行われる。
【００６３】
なお、本処理を行う際に、プロキシサーバ１０１のＣＰＵ２０１は、ルール受付手段３０１及びルール記録手段３０２としてプロキシサーバ１０１を機能させるためのプログラムをＨＤＤ２０４からＲＡＭ２０２にロードし、そのプログラムの制御に基づいて以下に示す処理を行うこととなる。
【００６４】
まず、プロキシサーバ１０１のＣＰＵ２０１は、ルールの設定要求を送信したクライアントＰＣ１０４に対して、図６に示すルール設定画面６００を表示するための表示情報を生成し送信する（ステップＳ５０１）。
【００６５】
当該表示情報を受信したクライアントＰＣ１０４のＣＰＵ２０１は、当該受信した表示情報に従って、クライアントＰＣ１０４のディスプレイ装置（表示部）にルール設定画面６００を表示する。
【００６６】
ステップＳ５０１で送信するルール設定画面６００の表示情報は、図９に示すルールＤＢ１０２に記憶されたリクエストルールテーブル９１００、及びレスポンスルールテーブル９２００を取得して、当該取得したデータを用いて生成される。
【００６７】
すなわち、図６の例では、リクエストルールテーブル９１００、及びレスポンスルールテーブル９２００の各レコードのデータのうち、ＩＤ９１０１、ルール名９１０２、動作９１１１、ＩＤ９２０１、ルール名９２０２、動作９２１１のデータを、それぞれＩＤ６１１、ルール名６１２、動作６１３、ＩＤ６２１、ルール名６２２、動作６２３に表示するべく、表示情報を生成している。
ここで、図６を参照してルール設定画面６００の構成について説明する。
【００６８】
図６は、ルール設定画面の一例を示す図である。図６に示すように、ルール設定画面６００は、ルール種別（リクエストルール６１０、レスポンスルール６２０）毎に、表示部に表示される。
【００６９】
図６において、６１１及び６２１は、それぞれリクエストルールとレスポンスルールのＩＤの表示欄であって、リクエストルールとレスポンスルールのそれぞれを一意に示すＩＤが表示される。
【００７０】
なお、リクエストルール及びレスポンスルールは、それぞれ、上位のレコードのルールから順番に適用される。例えば、リクエストルールについては、「ＩＤ」が１のルールの次に、「ＩＤ」が２のルールが適用される。このように、上側のレコードのルールから順番に適用される。
【００７１】
６１２及び６２２は、それぞれリクエストルールとレスポンスルールのルール名の表示欄であって、リクエストルールとレスポンスルールそれぞれの各ルールに設定されているルール名が表示される。
【００７２】
６１３及び６２３は、それぞれリクエストルールとレスポンスルールの動作の表示欄である。すなわち、６１３には、リクエストルールに適合したリクエストのデータの中継を許可するか禁止するかの設定が表示される。また、６２３には、レスポンスルールに適合したレスポンスのデータの中継を許可するか禁止するかの設定が表示される。
【００７３】
６１４、６２４は、それぞれリクエストルール、レスポンスルールの編集を受け付けるための編集ボタンである。
【００７４】
リクエストルールを編集したい場合は、編集したいリクエストルールのレコードの編集ボタン６１４を、押下することにより、当該リクエストルールを編集することが出来る。
【００７５】
また、レスポンスルールを編集したい場合は、編集したいレスポンスルールのレコードの編集ボタン６２４を押下することにより、当該レスポンスルールを編集することが出来る。
６１５、６２５は、それぞれ、リクエストルール、レスポンスルールの削除を受け付けるための削除ボタンである。
【００７６】
リクエストルールを削除したい場合は、当該削除したいリクエストルールのレコードの削除ボタン６１５を押下することにより、当該リクエストルールを削除することが出来る。
【００７７】
また、レスポンスルールを削除したい場合は、当該削除したいレスポンスルールのレコードの削除ボタン６２５を押下することにより、当該レスポンスルールを削除することが出来る。
【００７８】
６１６、６１６は、それぞれ、リクエストルール、レスポンスルールを適用する順番（すなわち、ルールのレコードが表示される６１０／６２０のレコードの配置順）を変更するためのボタンである。
【００７９】
すなわち、リクエストルールを適用する順番を変更したい場合は、移動ボタン６１６を押下することにより、リクエストルールの移動画面がクライアントＰＣ１０４の表示部に表示され、当該移動画面を用いて、リクエストルールを適用する順番を変更することが出来る。
【００８０】
また、レスポンスルールを適用する順番を変更したい場合は、移動ボタン６２６を押下することにより、レスポンスルールの移動画面がクライアントＰＣ１０４の表示部に表示され、当該移動画面を用いて、レスポンスルールを適用する順番を変更することが出来る。
【００８１】
また、６１７、６２７は、それぞれ、リクエストルールを追加するためのボタン、レスポンスルールを追加するためのボタンである。
【００８２】
リクエストルールを追加したい場合は追加ボタン６１７を、レスポンスルールを追加したい場合は追加ボタン６２７を押下するとそれぞれのルールを追加することができる。
以下、図５のフローチャートの説明に戻る。
【００８３】
クライアントＰＣ１０４のＣＰＵ２０１は、ステップＳ５０１で送信された表示情報を受信し、当該受信した表示情報に従って、表示部にルール設定画面６００を表示する。
【００８４】
そして、管理者により、編集ボタン６１４、削除ボタン６１５、移動ボタン６１６、追加ボタン６１７、編集ボタン６２４、削除ボタン６２５、移動ボタン６２６、追加ボタン６２７のいずれかのボタンが押下されると、クライアントＰＣ１０４のＣＰＵ２０１は、当該押下されたボタンに対応する要求をプロキシサーバ１０１に送信する。
【００８５】
具体的には、管理者により、編集ボタン６１４、追加ボタン６１７のいずれかのボタンが押下されると、クライアントＰＣ１０４のＣＰＵ２０１は、リクエストルールの詳細設定要求をプロキシサーバ１０１に送信する。
【００８６】
また、管理者により、移動ボタン６１６が押下されると、クライアントＰＣ１０４のＣＰＵ２０１は、リクエストルールの移動要求をプロキシサーバ１０１に送信する。
【００８７】
また、管理者により、編集ボタン６２４、追加ボタン６２７のいずれかのボタンが押下されると、クライアントＰＣ１０４のＣＰＵ２０１は、レスポンスルールの詳細設定要求をプロキシサーバ１０１に送信する。
【００８８】
また、管理者により、移動ボタン６２６のボタンが押下されると、クライアントＰＣ１０４のＣＰＵ２０１は、レスポンスルールの移動要求をプロキシサーバ１０１に送信する。
【００８９】
なお、管理者により、削除ボタン６１５、削除ボタン６２５のいずれかのボタンが押下されると、クライアントＰＣ１０４のＣＰＵ２０１は、当該押下された削除ボタンのレコードのルールをルールＤＢ１０２から削除するための削除要求をプロキシサーバ１０１に送信する。そして、当該削除要求を受信したプロキシサーバ１０１のＣＰＵ２０１は、当該削除要求されているルールをルールＤＢ１０２から削除する。
【００９０】
次に、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ５０２において、クライアントＰＣ１０４からのリクエストルールの詳細設定要求を受け付けたか否かを判定する。ここでの詳細設定要求は、クライアントＰＣのディスプレイ上に表示されているルール設定画面６００の追加ボタン６１７もしくは編集ボタン６１４が押下された場合に発行されるものである。
【００９１】
具体的に説明すると、クライアントＰＣ１０４のＣＰＵ２０１は、管理者により追加ボタン６１７が押下された場合には、新規のリクエストルールの詳細設定要求を送信し、管理者により編集ボタン６１４が押下された場合には、すでにリクエストルールテーブル９１００に登録されている、当該押下された編集ボタン６１４のレコードに対応するリクエストルールの変更要求を含むリクエストルールの詳細設定要求を送信する。
【００９２】
そして、プロキシサーバ１０１のＣＰＵ２０１は、クライアントＰＣ１０４から、リクエストルールの詳細設定要求を受け付けたと判断した場合には（ステップＳ５０２でＹＥＳ）、図７に示すリクエストルール詳細画面７００を表示するための表示情報を生成し、詳細設定要求を送信してきたクライアントＰＣ１０４に対して送信する（ステップＳ５０３）。
【００９３】
一方、プロキシサーバ１０１のＣＰＵ２０１は、クライアントＰＣ１０４から、リクエストルールの詳細設定要求を受け付けていないと判断した場合には（ステップＳ５０２でＮＯ）、処理をステップＳ５０４に移行する。
【００９４】
ここで、プロキシサーバ１０１のＣＰＵ２０１は、管理者により編集ボタン６１４が押下され、リクエストルールの変更要求であるリクエストルールの詳細設定要求をクライアントＰＣ１０４から受信したと判定した場合は、当該押下された編集ボタン６１４のレコードのルールＩＤが一致するリクエストルールをリクエストルールテーブル９１００から取得し、当該取得したリクエストルールが設定されたリクエストルール詳細画面７００の表示情報を生成し、当該クライアントＰＣ１０４に送信する。
【００９５】
また、プロキシサーバ１０１のＣＰＵ２０１は、管理者により追加ボタン６１７が押下され、新規のリクエストルールの詳細設定要求をクライアントＰＣ１０４から受信したと判定された場合は、新規のリクエストルールの入力を受け付けるため、管理者により選択されていないリクエストルール詳細画面７００（図７）の表示情報を生成し、当該クライアントＰＣ１０４に送信する。
以下に、図７のリクエストルール詳細画面７００について説明する。
【００９６】
図７において、７０１はルールの種類を表す表示欄であって、リクエストルールの詳細画面であることを表すため、リクエストルールと表示する。尚、レスポンスルール詳細画面では、この表示欄にレスポンスルールと表示する。
【００９７】
図７において、７０２はリクエストルールのＩＤ表示欄であって、リクエストルールを一意に示すＩＤを表示する。このＩＤは自動的に付与しても、ユーザの入力部からの入力指示に基づいて設定しても（リクエストルール内での重複は許さない）構わない。７０３はルール名入力欄であって、当該リクエストルール名の入力を受け付ける。
【００９８】
７０４は、ＵＲＬを選択するためのラジオボタンであり、７０６は、ＵＲＬで特定されるＷＥＢサイト、又はＷＥＢページのカテゴリを選択するためのラジオボタンである。
【００９９】
ＵＲＬ条件では、特定のＵＲＬを指定するか（ＵＲＬラジオボタン７０４を選択する）若しくはカテゴリを指定するか（カテゴリラジオボタン７０６を選択する）が選択可能である。そしてＵＲＬラジオボタン７０４が選択された場合にはＵＲＬ入力欄７０５への入力が、カテゴリラジオボタン７０６が選択された場合にはカテゴリ選択セレクトボックス７０７によるカテゴリの選択が可能である。
なお、ＵＲＬ入力欄７０５では区切り文字で区切って複数のＵＲＬを、カテゴリ選択ボックス７０７では同時に複数のカテゴリを指定することが可能である。
本実施例では、ＵＲＬ条件にＵＲＬ指定もしくはカテゴリ指定のどちらかによる設定を行うことになっているが、双方を同時に設定させても勿論かまわない。
【０１００】
プロキシサーバ１０１のＣＰＵ２０１は、クライアントＰＣ１０４からのリクエストの送信先のＵＲＬがこれらの条件に合致した場合に、ＵＲＬ条件が合致したと判定する。
【０１０１】
７０８はリクエストデータに含まれるファイルのファイル形式を選択するためのセレクトボックスであって、同時に複数のファイル形式を選択することができる。
【０１０２】
７０９は、リクエストデータに含まれるファイルのファイルサイズの入力欄である。
【０１０３】
７１０は、リクエストデータに含まれるファイルのファイルサイズが７０９で指定したサイズ以上／以下を選択するラジオボタンである。ファイルのサイズが７０９で指定したサイズ以上の場合にルールに合致させたい場合は「以上」を、ファイルのサイズが７０９で指定したサイズ以下の場合にルールに合致させたい場合は「以下」をユーザが指定する。
【０１０４】
７１１はリクエストデータに含まれるファイルのファイル形式と、当該ファイルに付与されている拡張子が一致する／しないを指定するラジオボタンである。ファイル形式と拡張子が一致する場合にルールに合致させたい場合は「する」を、ファイル形式と拡張子が一致しない場合にルールに合致させたい場合は「しない」をユーザが選択する。
【０１０５】
７１２は、キーワード条件の入力欄である。リクエストデータに含まれるファイル、及びリクエストデータに含まれるファイル以外のフィールド内のテキスト情報と照合するキーワードを入力する。
【０１０６】
キーワード入力欄には複数のキーワードを入力することが可能であり、またそれらの結合条件（ＡＮＤ条件：例えば「＆」で設定、ＯＲ条件：例えば「｜」で設定、結合優先度設定：例えば括弧「（）」で設定）の設定も可能である。
【０１０７】
そして上記条件に合致した場合に（ＵＲＬ条件、ファイル条件、キーワード条件をＡＮＤ条件で結合）、クライアントＰＣ１０４から送信されたリクエストの中継を許可／禁止のどちらかに設定するかを動作ラジオボタン７１３で選択し設定することができる。
【０１０８】
また、ＵＲＬ条件、ファイル条件、キーワード条件の結合方法を入力するための領域をリクエストルール詳細画面７００に更に設けて、その領域に結合条件を入力し、その結合条件を満たした場合にリクエストの中継を許可／禁止とするといった設定をするようにしても勿論かまわない。
また、７１４は、クライアントＰＣ１０４を使用するユーザ名を入力する入力欄である。
【０１０９】
入力欄７１４にユーザ名を設定することにより、入力欄７１４に入力されたユーザが使用しているクライアントＰＣ１０４からのリクエストの中継を、どのような条件にて、許可するか、或いは禁止するかを設定することが可能となる。
【０１１０】
なお、本実施例で入力欄７１４に入力されるユーザ名は、プロキシ認証を行うためのユーザ名として説明するが、送信元の端末、又は端末を操作するユーザが特定できる情報であれば、他の情報であっても構わない。
【０１１１】
クライアントＰＣ１０４のＣＰＵ２０１は、管理者により、更新ボタン７１５が押下された場合、上記指定（設定）したリクエストルールの詳細（情報）の登録要求をプロキシサーバ１０１に対して行う。
【０１１２】
また、クライアントＰＣ１０４のＣＰＵ２０１は、管理者によりキャンセルボタン７１６が押下された場合は、リクエストルールの詳細（情報）の登録要求を行わずに、リクエストルールの詳細設定処理を終了する。
以上が図７に示すリクエストルール詳細画面７００の説明である。
以下、図５のフローチャートの説明に戻る。
【０１１３】
ステップＳ５０４において、プロキシサーバ１０１のＣＰＵ２０１は、クライアントＰＣ１０４からリクエストルールの移動要求を受け付けたか否かを判断する。この要求は、クライアントＰＣのディスプレイ上に表示されているルール設定画面６００の移動ボタン６１６が押下された場合に発行されるものである。
【０１１４】
そして、プロキシサーバ１０１のＣＰＵ２０１は、リクエストルールの移動要求を受け付けたと判断した場合には（ステップＳ５０４でＹＥＳ）、図８に示すリクエストルール移動画面８００を表示するための表示情報を生成し、リクエストルールの移動要求を送信してきたクライアントＰＣ１０４に対して送信する（ステップＳ５０５）。
【０１１５】
一方、プロキシサーバ１０１のＣＰＵ２０１は、リクエストルールの移動要求を受け付けていないと判断した場合には（ステップＳ５０４でＮＯ）、処理をステップＳ５０６に移行する。
ここでリクエストルール移動画面８００について説明する。
【０１１６】
図８は、リクエストルール移動画面８００の一例を示す図である。
【０１１７】
リクエストに含まれるデータがリクエストルールに該当するかの判定は、ルール設定画面６００のリクエストルール６１０の各レコードのルールの配置順に従って行われる。すなわち、リクエストルール６１０の上側のレコードのルールから順番に適用される。このように、本実施例では、リクエストルールの配置順がルールの適用順となっている。
そして、条件に合致したリクエストルールがあった場合には、そのリクエストルールに設定された動作を行う。
それゆえ、合致したリクエストルールより適用順の低いリクエストルールに該当するかの判定は行われない。
【０１１８】
図８に示すリクエストルール移動画面８００を用いて、リクエストルールの配置順を変更することが可能となり、リクエストルールを適用する順番を変更することが出来る。
【０１１９】
図８において、８０１はルールの種類を表す表示欄である。図８では、リクエストルールの移動画面であることを表すため、リクエストルールと表示する。なお、レスポンスルール移動画面では、この表示欄にレスポンスルールと表示する。
【０１２０】
８０２は、移動対象となるリクエストルールの行番号の表示欄である。すなわち、８０２は、何行目のリクエストルールを移動させるかが表示される表示欄である。
【０１２１】
８０３は、移動対象のリクエストルールを何行目のリクエストルールの上側、又は下側に移動させるかを入力させる入力欄である。
【０１２２】
８０４は、移動対象のリクエストルールを８０３で指定した行番号のリクエストルールの上側に移動させるか、下に移動させるかを選択するセレクトボックスである。
ユーザは、８０３で指定した行番号のリクエストルールの上側に移動させたい場合は「上に」を、下側に移動させたい場合は「下に」を選択する。
【０１２３】
そして、クライアントＰＣ１０４のＣＰＵ２０１は、ユーザにより確定ボタン８０５が押下された場合、上記設定したリクエストルールの移動要求をプロキシサーバ１０１に対して行う。また、クライアントＰＣ１０４のＣＰＵ２０１は、ユーザによりキャンセルボタン８０６が押下された場合は、リクエストルールの移動を実施せずに処理を終了する。
以下、図５のフローチャートの説明に戻る。
【０１２４】
次に、プロキシサーバ１０１のＣＰＵ２０１は、レスポンスルールの詳細設定要求をクライアントＰＣ１０４から受け付けたか否かを判断する（ステップＳ５０６）。
【０１２５】
この詳細設定要求は、クライアントＰＣ１０４のディスプレイ上に表示されているルール設定画面６００の追加ボタン６２７もしくは編集ボタン６２４が押下された場合に発行されるものである。
【０１２６】
クライアントＰＣ１０４のＣＰＵ２０１は、管理者により追加ボタン６２７が押下された場合には、新規のレスポンスルールの詳細設定要求を送信し、管理者により編集ボタン６２４が押下された場合には、すでにレスポンスルールテーブル９２００に登録されている、当該押下された編集ボタン６２４のレコードに対応するレスポンスルールの変更要求を含むレスポンスルールの詳細設定要求を送信する。
【０１２７】
そして、プロキシサーバ１０１のＣＰＵ２０１は、レスポンスルールの詳細設定要求をクライアントＰＣ１０４から受け付けたと判断した場合には（ステップＳ５０６でＹＥＳ）、レスポンスルール詳細画面を表示するための表示情報を生成し、当該詳細設定要求を送信してきたクライアントＰＣ１０４に対して送信する（ステップＳ５０７）。
【０１２８】
一方、プロキシサーバ１０１のＣＰＵ２０１は、レスポンスルールの詳細設定要求をクライアントＰＣ１０４から受け付けていないと判断した場合には（ステップＳ５０６でＮＯ）、処理をステップＳ５０８に移行する。
【０１２９】
ここで、レスポンスルール詳細画面は、図７に示すリクエストルール詳細画面７００と同様の設定項目を有している画面である。レスポンスルール詳細画面がクエストルール詳細画面７００と異なる点は、リクエストルール詳細画面７００の「種類」の表示欄７０１に、「レスポンスルール」と表示される点である。
ステップＳ５０６及びステップＳ５０７での処理について以下に詳しく説明する。
【０１３０】
プロキシサーバ１０１のＣＰＵ２０１は、管理者により編集ボタン６２４が押下され、レスポンスルールの変更要求を含むレスポンスルールの詳細設定要求をクライアントＰＣ１０４から受信したと判定した場合は、当該押下された編集ボタン６２４のレコードのルールＩＤが一致するレスポンスルールをレスポンスルールテーブル９２００から取得し、当該取得したレスポンスルールが設定されたレスポンスルール詳細画面の表示情報を生成し、当該クライアントＰＣ１０４に送信する。
【０１３１】
また、プロキシサーバ１０１のＣＰＵ２０１は、管理者により追加ボタン６２７が押下され、新規のレスポンスルールの詳細設定要求をクライアントＰＣ１０４から受信したと判定された場合は、新規のレスポンスルールの入力を受け付けるため、管理者により選択されていないレスポンスルール詳細画面の表示情報を生成し、当該クライアントＰＣ１０４に送信する。
次に、レスポンスルール詳細画面の説明を、図７のリクエストルール詳細画面を用いて説明する。
レスポンスルール詳細画面は、７０１に「レスポンスルール」と表示され、７０２には、レスポンスルールを一意に示すＩＤが表示される。
【０１３２】
また、７０４は、ＵＲＬを選択するためのラジオボタンであり、７０６は、ＵＲＬで特定されるＷＥＢサイト、又はＷＥＢページのカテゴリを選択するためのラジオボタンである。
【０１３３】
ＵＲＬ条件では、特定のＵＲＬを指定するか（ＵＲＬラジオボタン７０４を選択する）若しくはカテゴリを指定するか（カテゴリラジオボタン７０６を選択する）を選択することが可能である。
【０１３４】
そして、ＵＲＬラジオボタン７０４が選択された場合にはＵＲＬ入力欄７０５への入力が、カテゴリラジオボタン７０６が選択された場合にはカテゴリ選択セレクトボックス７０７によるカテゴリの選択が可能である。
なお、ＵＲＬ入力欄７０５では区切り文字で区切って複数のＵＲＬを、カテゴリ選択ボックス７０７では同時に複数のカテゴリを指定することが可能である。
本実施例では、ＵＲＬ条件にＵＲＬ指定もしくはカテゴリ指定のどちらかによる設定を行うことになっているが、双方を同時に設定させても勿論かまわない。
【０１３５】
プロキシサーバ１０１のＣＰＵ２０１は、レスポンスデータの送信元（ウェブサーバ１０７）のＵＲＬがこれらの条件に合致した場合に、ＵＲＬ条件が合致したと判定する。
【０１３６】
７０８は、レスポンスデータに含まれるファイルのファイル形式を選択するためのセレクトボックスであって、同時に複数のファイル形式を選択することができる。
【０１３７】
７０９は、レスポンスデータに含まれるファイルのファイルサイズの入力欄である。
【０１３８】
７１０は、レスポンスデータに含まれるファイルのファイルサイズが７０９で指定したサイズ以上／以下を選択するラジオボタンである。ファイルのサイズが７０９で指定したサイズ以上の場合にルールに合致させたい場合は「以上」を、ファイルのサイズが７０９で指定したサイズ以下の場合にルールに合致させたい場合は「以下」をユーザが指定する。
【０１３９】
７１１はレスポンスデータに含まれるファイルのファイル形式と、当該ファイルに付与されている拡張子が一致する／しないを指定するラジオボタンである。ファイル形式と拡張子が一致する場合にルールに合致させたい場合は「する」を、ファイル形式と拡張子が一致しない場合にルールに合致させたい場合は「しない」をユーザが選択する。
【０１４０】
７１２は、キーワード条件の入力欄である。レスポンスデータに含まれるファイル、及びレスポンスデータに含まれるファイル以外のフィールド内のテキスト情報と照合するキーワードを入力する。
【０１４１】
キーワード入力欄には複数のキーワードを入力することが可能であり、またそれらの結合条件（ＡＮＤ条件：例えば「＆」で設定、ＯＲ条件：例えば「｜」で設定、結合優先度設定：例えば括弧「（）」で設定）の設定も可能である。
【０１４２】
そして、上記条件に合致した場合に（ＵＲＬ条件、ファイル条件、キーワード条件をＡＮＤ条件で結合）、ウェブサーバ１０７から送信されたレスポンスデータの中継を許可／禁止のどちらかに設定するかを動作ラジオボタン７１３で選択し設定することができる。
【０１４３】
また、ＵＲＬ条件、ファイル条件、キーワード条件の結合方法を入力するための領域をレスポンスルール詳細画面７００に更に設けて、その領域に結合条件を入力し、その結合条件を満たした場合に、リクエストの中継を許可／禁止とするといった設定をするようにしても勿論かまわない。
また、７１４は、クライアントＰＣ１０４を使用するユーザ名を入力する入力欄である。
すなわち、７１４は、ウェブサーバ１０７から送信されるレスポンスデータの送信先を入力する入力欄である。
【０１４４】
このように、レスポンスルール詳細画面７００の入力欄７１４にユーザ名を設定することにより、入力欄７１４に入力されたユーザが使用しているクライアントＰＣ１０４に、ウェブサーバ１０７から送信されるレスポンスデータの中継を、どのような条件にて、許可するか、或いは禁止するかを設定することが可能となる。
【０１４５】
なお、本実施例で入力欄７１４に入力されるユーザ名は、プロキシ認証を行うためのユーザ名として説明するが、レスポンスデータの送信先の端末、又は該端末を操作するユーザを特定可能な情報であれば、他の情報であっても構わない。
【０１４６】
クライアントＰＣ１０４のＣＰＵ２０１は、管理者により、更新ボタン７１５が押下された場合、上記指定（設定）したレスポンスルールの詳細（情報）の登録要求をプロキシサーバ１０１に対して行う。
【０１４７】
また、クライアントＰＣ１０４のＣＰＵ２０１は、管理者によりキャンセルボタン７１６が押下された場合は、レスポンスルールの詳細（情報）の登録要求を行わずに、レスポンスルールの詳細設定処理を終了する。
以上が、レスポンスルール詳細画面の説明である。
次に、図５の説明に戻る。
【０１４８】
次に、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ５０８において、クライアントＰＣ１０４からレスポンスルールの移動要求を受け付けたか否かを判断する。この要求は、クライアントＰＣのディスプレイ上に表示されているルール設定画面６００の移動ボタン６２６が押下された場合に発行されるものである。
【０１４９】
そして、プロキシサーバ１０１のＣＰＵ２０１は、レスポンスルールの移動要求を受け付けたと判断した場合には（ステップＳ５０８でＹＥＳ）、レスポンスルール移動画面を表示するための表示情報を生成し、レスポンスルールの移動要求を送信してきたクライアントＰＣ１０４に対して送信する（ステップＳ５０９）。
【０１５０】
プロキシサーバ１０１のＣＰＵ２０１は、レスポンスルールの移動要求を受け付けていないと判断した場合には（ステップＳ５０８でＮＯ）、処理をステップＳ５１０に移行する。
【０１５１】
なお、レスポンスルール移動画面は、図８に示すリクエストルール移動画面８００と同様の項目から構成されている。それゆえ、レスポンスルール移動画面は、リクエストルール移動画面８００の種類の表示欄８０１に、リクエストルールではなく、レスポンスルールと表示される画面である。
【０１５２】
ウェブサーバ１０７から送信されるレスポンスデータがレスポンスルールに該当するかの判定は、ルール設定画面６００のレスポンスルール６２０の各レコードのルールの配置順に従って行われる。
【０１５３】
すなわち、レスポンスルール６２０の上側のレコードのルールから順番に適用される。このように、本実施例では、レスポンスルールの配置順がルールの適用順となっている。
そして、条件に合致したレスポンスルールがあった場合には、そのレスポンスルールに設定された動作を行う。
それゆえ、合致したレスポンスルールより適用順の低いレスポンスルールに該当するかの判定は行われない。
【０１５４】
図８に示すレスポンスルール移動画面を用いて、レスポンスルールの配置順を変更することが可能となり、レスポンスルールを適用する順番を変更することが出来る。
レスポンスルール移動画面について、図８を用いて説明する
図８では、レスポンスルールの移動画面であることを表すため、ルールの種類を表す表示欄８０１にレスポンスルールと表示する。
【０１５５】
８０２は、移動対象となるレスポンスルールの行番号の表示欄である。すなわち、８０２は、何行目のレスポンスルールを移動させるかが表示される表示欄である。
【０１５６】
８０３は、移動対象のレスポンスルールを何行目のレスポンスルールの上側、又は下側に移動させるかを入力させる入力欄である。
【０１５７】
８０４は、移動対象のレスポンスルールを８０３で指定した行番号のレスポンスルールの上側に移動させるか、下に移動させるかを選択するセレクトボックスである。
ユーザは、８０３で指定した行番号のレスポンスルールの上側に移動させたい場合は「上に」を、下側に移動させたい場合は「下に」を選択する。
【０１５８】
そして、クライアントＰＣ１０４のＣＰＵ２０１は、ユーザにより確定ボタン８０５が押下された場合、上記設定したレスポンスルールの移動要求をプロキシサーバ１０１に対して行う。また、クライアントＰＣ１０４のＣＰＵ２０１は、ユーザによりキャンセルボタン８０６が押下された場合は、レスポンスルールの移動を実施せずに処理を終了する。
以上のようにして、レスポンスルールについてもリクエストルールと同様に図８に示す移動画面によるルール表示順位（適用順）の変更が可能となる。
【０１５９】
プロキシサーバ１０１のＣＰＵ２０１は、クライアントＰＣ１０４から、リクエストルールの詳細（情報）の登録要求、リクエストルールの移動要求、レスポンスルールの詳細（情報）の登録要求、レスポンスルールの移動要求、削除要求のいずれかを受信したか否かを判定する（ステップＳ５１０）。
【０１６０】
そして、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ５１０において、リクエストルールの詳細（情報）の登録要求、リクエストルールの移動要求、レスポンスルールの詳細（情報）の登録要求、レスポンスルールの移動要求、削除要求のいずれかを受信したと判断した場合には（ステップＳ５１０でＹＥＳ）、処理をステップＳ５１１に移行する。
【０１６１】
次に、プロキシサーバ１０１のＣＰＵ２０１は、クライアントＰＣ１０４から受信した、リクエストルールの詳細（情報）の登録要求、リクエストルールの移動要求、レスポンスルールの詳細（情報）の登録要求、レスポンスルールの移動要求、削除要求に従って、ルールＤＢ１０２に記憶されているルールテーブル（９１００、９２００）を更新（登録／削除）して記憶保存する（ステップＳ５１１）。
ここでルールＤＢについて、図９を参照して説明する。
【０１６２】
図９は、ルールＤＢ１０２のデータ構成の一例を示す図である。
【０１６３】
図９に示すように、ルールＤＢ１０２には、クライアントＰＣ１０４からウェブサーバ１０７に送信されるリクエストデータの中継制御に用いられるリクエストルールを記憶したリクエストルールテーブル９１００と、当該リクエストに対してウェブサーバ１０７からクライアントＰＣ１０４に送信されるレスポンスデータの中継制御に用いられるレスポンスルールを記憶したレスポンスルールテーブル９２００とを備えている。
【０１６４】
図９において、９１０１および９２０１は、それぞれリクエストルールとレスポンスルールのＩＤを記録する列であって、リクエストルールとレスポンスルールのそれぞれを一意に示すＩＤが記録される。すなわち、９１０１、９２０１は、それぞれ、リクエストルール詳細画面（図７）の７０２のＩＤの値、レスポンスルール詳細画面の７０２のＩＤの値が記憶される。
【０１６５】
リクエストルール及びレスポンスルールは、それぞれのテーブルに記録されている順に適用される（上側のレコードのルールから順に適用される）。尚、リクエストルールとレスポンスルールの適用順を記録する列を追加して、その順番に従い、それぞれのルールを適用するように構成しても勿論構わない。
【０１６６】
９１０２及び９２０２は、それぞれリクエストルールとレスポンスルールのルール名が記憶される列であって、各レコードのルールのルール名が記録される。すなわち、９１０２、９２０２には、それぞれリクエストルール詳細画面の７０３に入力されたルール名、レスポンスルール詳細画面の７０３に入力されたルール名が記憶される。
【０１６７】
９１０３、９２０３には、それぞれ、リクエストルール詳細画面の７１４に入力されたデータ、レスポンスルール詳細画面の７１４に入力されたデータが記憶される。すなわち、９１０３、９２０３には、例えばクライアントＰＣを使用するユーザ名が記憶される。また、図７の入力欄７１４には、ユーザ名だけではなく、グループ名を入力するようにしてもよく、グループ名が入力された場合は、９１０３、９２０３にはグループ名が記憶されることになる。
【０１６８】
９１０４及び９２０４は、それぞれリクエストルールとレスポンスルールのＵＲＬを記録する列である。すなわち、９１０４、９２０４には、それぞれ、リクエストルール詳細画面の７０５に入力されたＵＲＬ、レスポンスルール詳細画面の７０５に入力されたＵＲＬが記憶される。
【０１６９】
９１０５及び９２０５は、それぞれリクエストルールとレスポンスルールのカテゴリを記録する列である。すなわち、９１０５、９２０５には、それぞれ、リクエストルール詳細画面の７０７で選択・入力されたカテゴリ、レスポンスルール詳細画面の７０７で選択・入力されたカテゴリが記憶される。
【０１７０】
９１０６および９２０６は、それぞれリクエストルールとレスポンスルールのファイル形式を記録する列であって、それぞれ、１つ又は複数のファイル形式が記録可能である。すなわち、９１０６、９２０６には、それぞれ、リクエストルール詳細画面の７０８で選択・入力されたファイル形式、レスポンスルール詳細画面の７０８で選択・入力されたファイル形式が記憶される。
【０１７１】
９１０７および９２０７は、それぞれリクエストルールとレスポンスルールのファイルサイズを記録する列である。すなわち、９１０７、９２０７には、それぞれ、リクエストルール詳細画面の７０９で入力されたファイルサイズ、レスポンスルール詳細画面の７０９で入力されたファイルサイズが記憶される。
【０１７２】
９１０８および９２０８は、それぞれリクエストルールとレスポンスルールのファイルサイズの条件を記録する列であって、それぞれ９１０７および９２０７に記録したファイルサイズ以上の場合にルールに合致させるか、若しくは、９１０７および９２０７に記録したファイルサイズ以下の場合にルールに合致させるかの情報が記録される。
【０１７３】
すなわち、９１０８、９２０８には、それぞれ、リクエストルール詳細画面の７１０で選択された条件（「以上」か「以下」かの条件）、レスポンスルール詳細画面の７１０で選択された条件（「以上」か「以下」かの条件）が記憶される。
【０１７４】
９１０９および９２０９は、それぞれリクエストルールとレスポンスルールのファイル形式と拡張子の一致条件を記録する列であって、それぞれ９１０６、９２０６で指定したファイル形式に対して、ファイル形式と拡張子が一致するもしくは一致しない場合にルールに合致させるかの情報が記録される。
【０１７５】
すなわち、９１０９、９２０９には、それぞれ、リクエストルール詳細画面の７１１で選択された条件（ファイル形式と拡張子が一致「する」か「しない」かの条件）、レスポンスルール詳細画面の７１１で選択された条件（ファイル形式と拡張子が一致「する」か「しない」かの条件）が記憶される。
【０１７６】
９１１０および９２１０は、それぞれリクエストルールとレスポンスルールのキーワード条件を記録する列である。
【０１７７】
すなわち、９１１０、９２１０には、それぞれ、リクエストルール詳細画面の７１２で入力されたキーワード条件、レスポンスルール詳細画面の７１２で入力されたキーワード条件が記憶される。
【０１７８】
９１１１および９２１０は、それぞれリクエストルールとレスポンスルールの動作を記録する列であって、リクエストデータもしくはレスポンスデータに合致した場合に通信を許可するもしくは禁止するというプロキシサーバ１０１に行わせる動作を記録する。
【０１７９】
すなわち、９１１１、９２１１には、それぞれ、リクエストルール詳細画面の７１３で選択された動作、レスポンスルール詳細画面の７１３で選択された動作が記憶される。
【０１８０】
以上がルールＤＢ１０２の構成例を表す図９の説明である。なお、図９では、リクエストルールとレスポンスルールを別々のテーブルとして管理する例を示したが、一つのテーブル内に記録し、どちらのルールであるかを識別するための列を追加して管理しても勿論構わない。
以下、図５のフローチャートの説明に戻る。
【０１８１】
プロキシサーバ１０７のＣＰＵ２０１は、ステップＳ５１２において、ステップＳ５１１で更新されたルールＤＢ１０２（図９）に記憶されたリクエストルールテーブル９１００、及びレスポンスルールテーブル９２００を取得して、当該取得したデータを用いて、ルール設定画面６００を表示するための表示情報を生成し、クライアントＰＣ１０４に該表示情報を送信する（ステップＳ５１２）。
【０１８２】
そして、当該表示情報を受信したクライアントＰＣ１０４のＣＰＵ２０１は、当該表示情報に従って、クライアントＰＣ１０４の表示部に更新されたルール設定画面６００を表示する。
【０１８３】
プロキシサーバ１０１のＣＰＵ２０１は、クライアントＰＣ１０４から、リクエストルールの詳細（情報）の登録要求、リクエストルールの移動要求、レスポンスルールの詳細（情報）の登録要求、レスポンスルールの移動要求、削除要求のいずれも受信していないと判定された場合は（ステップＳ５１０：ＮＯ）、ルール設定処理を終了する。
以上がプロキシサーバ１０１のＣＰＵ２０１によって行われるルール設定処理の一例である。
以下に、図１０を参照して、図４のステップＳ４０４に示した通信中継制御処理を詳細に説明する。
【０１８４】
図１０は、本発明における第３の制御処理の一例を示すフローチャートであり、図４のステップＳ４０４に示した通信中継制御処理の詳細を示すフローチャートに対応する。即ち、本処理は、プロキシサーバ１０１のＣＰＵ２０１によって行われる。尚、本処理を行う際に、ＣＰＵ２０１は、図３の通信中継制御手段３０３および通信許可／禁止応答送信手段３０４としてプロキシサーバ１０１を機能させるためのプログラムをＨＤＤ２０４からＲＡＭ２０２にロードし、そのプログラムの制御に基づいて以下に示す処理を行うこととなる。
【０１８５】
プロキシサーバ１０１のＣＰＵ２０１は、ＬＡＮ１０５に流れるパケットを常時監視している。そして、プロキシサーバ１０１のＣＰＵ２０１は、クライアントＰＣ１０４から広域ネットワーク１０６に設置されているウェブサーバ１０７に対してのリクエスト（リクエストデータやリクエストのデータとも言う）を受け付ける（ステップＳ１００１）。
【０１８６】
そして、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１００１で受け付けたリクエストされたＵＲＬ（リクエストのデータに含まれるＵＲＬ）をＵＲＬＤＢ１０３（図１２）の中から検索して、当該ＵＲＬのＷＥＢサイト又はＷＥＢページのカテゴリを判定する（ステップＳ１００２）。ここで、ステップＳ１００２のＵＲＬカテゴリ判定処理の詳細について図１１を参照して説明する。
【０１８７】
図１１は、図１０のステップＳ１００２に示したＵＲＬカテゴリ判定処理の詳細を示すフローチャートである。即ち、本処理は、プロキシサーバ１０１のＣＰＵ２０１によって行われる。
【０１８８】
プロキシサーバ１０１のＣＰＵ２０１は、図１１のステップＳ１１０１において、ＵＲＬＤＢ１０３の中から、リクエストされたＵＲＬのカテゴリを検索する。ここでＵＲＬＤＢ１０３の詳細について図１２を参照して説明する。
【０１８９】
図１２は、ＵＲＬＤＢ１０３のデータ構成の一例を示す図である。
ＵＲＬＤＢ１０３は、カテゴリごとにウェブサーバ１０７のリソースを表すＵＲＬを登録したデータベースである。
図１２では、ＵＲＬ１２０３を、大カテゴリ１２０１と小カテゴリ１２０２に分類し、それぞれを関連付けて格納している。
【０１９０】
図１２の例では、例えば、「ｈｔｔｐ：／／ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ／ｐｏｒｔａｌ／」のＵＲＬで特定されるリソース（ＷＥＢページやＷＥＢサイト）の内容のカテゴリは、「ポータルサイト」であることを示している。
【０１９１】
図１２では、ＵＲＬＤＢ１０３をデータテーブルとして説明しているが、ＵＲＬで特定されるリソースのカテゴリを検索することができれば、他の形式で格納しても勿論構わない。
以下、図１１のフローチャートの説明に戻る。
【０１９２】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１１０１で、ＵＲＬＤＢ１０３の中から、リクエストされたＵＲＬのカテゴリが検索されたか否かを判定する（ステップＳ１１０２）。
【０１９３】
そして、プロキシサーバ１０１のＣＰＵ２０１は、ＵＲＬのカテゴリが検索されたと判定された場合（ステップＳ１１０２でＹＥＳ）には、リクエストされたＵＲＬのカテゴリを、当該検索されたカテゴリに決定し、処理をステップＳ１００３に移行する。
【０１９４】
一方、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１１０２において、該当するカテゴリがないと判定した場合（ＮＯ）には、リクエストされたＵＲＬのカテゴリがないと決定し（ステップＳ１１０４）、処理をステップＳ１００３に移行する。
以下、図１０のフローチャートの説明に戻る。
【０１９５】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１００１で受信したリクエストのデータからファイルやテキストデータ等のリクエストの詳細情報を取得する（ステップＳ１００３）。
ここで、図１３を参照して、ステップＳ１００３に示すリクエスト詳細情報取得処理の詳細について説明する。
【０１９６】
図１３は、図１０のステップＳ１００３に示したリクエスト詳細情報取得処理の詳細を示すフローチャートである。即ち、本処理は、プロキシサーバ１０１のＣＰＵ２０１によって行われる。
【０１９７】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１００１で受信したリクエストデータにファイルが含まれているか否かを判定する（ステップＳ１３０１）。そして、リクエストデータにファイルが含まれていないと判定された場合は（ステップＳ１３０１でＮＯ）、処理をステップＳ１３０８に移行する。
【０１９８】
一方、ステップＳ１３０１で、リクエストデータにファイルが含まれていると判定された場合は（ステップＳ１３０１でＹＥＳ）、当該ファイルのファイルサイズを取得する（ステップＳ１３０２）。ここで、ファイルサイズは、リクエストデータに含まれているファイルを解析して、当該ファイルのファイルサイズを計算することにより取得される。
【０１９９】
次に、プロキシサーバ１０１のＣＰＵ２０１は、リクエストデータに含まれるファイルのファイル形式を判定する。ここで、ファイル形式は、ファイルの拡張子ではなく、ファイルに含まれるマジックナンバーを用いて判定される。
【０２００】
ファイルには、通常マジックナンバーと呼ばれるファイル形式ごとに特徴的な情報がファイルの先頭や末尾などに格納されている。
【０２０１】
例えば、ファイル形式がＰＤＦの場合は、ファイルの先頭５バイトが％ＰＤＦ−となる。リクエストヘッダーに記載されたＣｏｎｔｅｎｔ−Ｔｙｐｅによらず、マジックナンバーでファイル形式を判定することでファイルに間違った拡張子が付与されている場合や、意図的に変更されている場合でも、本来のファイル形式を判定することが可能となる。尚、リクエストデータに含まれるファイルが圧縮されている場合は、そのファイルを解凍した上でファイル形式を判定する。
【０２０２】
マジックナンバーによるファイル形式の判定では、あらかじめファイル形式ごとのマジックナンバーを知っておく必要がある。ここで、図１４を参照してマジックナンバーによるファイル形式の判定で使用するファイル形式とマジックナンバーの対応表について説明する。
【０２０３】
図１４は、ファイル形式とマジックナンバーの対応表の構成の一例を示す図である。
【０２０４】
図１４では、ファイル形式をファイル形式１４０１の列に、対応するマジックナンバーをマジックナンバー１４０２の列に記録しているが、データテーブルではない他の形式で記録しても勿論構わない。尚、ファイル形式とマジックナンバーの対応表１４００は、プロキシサーバ１０１内に備えていても、別のコンピュータ内に実装しても構わない。
以下、図１３のフローチャートの説明に戻る。
【０２０５】
次に、プロキシサーバ１０１のＣＰＵ２０１は、リクエストデータに含まれるファイルのファイル名から、当該ファイル名に含まれている拡張子を取得する（ステップＳ１３０４）。
【０２０６】
次に、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１３０３で判定したファイル形式と、ステップＳ１３０４で取得した拡張子が一致しているか否かを判定する（ステップＳ１３０５）。ここで、ファイル形式と拡張子が一致しているか否かを判定する処理について説明する。
【０２０７】
ファイル形式には、通常付与される拡張子がある。例えば、ファイル形式がＰＤＦ（ポータブル・ドキュメント・フォーマット）であるファイルには、通常ｐｄｆが拡張子として付与される。また、ファイル形式がＲＴＦ（リッチテキストフォーマット）であるファイルには、通常ｒｔｆが拡張子として付与される。ファイル形式と付与されている拡張子が一致しているか否かの判定では、図１７に示すようなファイル形式ごとに付与されるべき拡張子の対応表１７００を使用する。
【０２０８】
図１７に示すファイル形式と拡張子の対応表１７００には、ファイル形式をファイル形式１７０１に、当該ファイル形式の拡張子を拡張子１７０２に記憶されている。
【０２０９】
ファイル形式と拡張子が一致しているか否かを判定する場合は、ステップＳ１３０３で判定されたファイル形式をファイル形式１７０１から検索し、検索されたファイル形式に対応する（同一レコードの）拡張子を全て拡張子１７０２の列から取得する。
【０２１０】
そして、ステップＳ１３０４で取得した、ファイル名に付与されている拡張子が、当該取得した拡張子の中にある場合は、ファイル形式と拡張子が一致すると判断し、ない場合は一致しないと判断する。
【０２１１】
ステップＳ１３０５で、ファイル形式と拡張子が一致すると判定された場合には、拡張子の偽装はないことを示し、ファイル形式と拡張子が一致しないと判定された場合には、拡張子の偽装があることを示している。
尚、ファイル形式と拡張子の対応表１７００は、プロキシサーバ１０１内に備えていても、別のコンピュータ内に実装しても構わない。
また、不図示のメンテナンス画面を用意し、対応表１７００に記憶されているファイル形式や拡張子を変更／登録できるようにしても勿論構わない。
以下、図１３のフローチャートの説明に戻る。
【０２１２】
次に、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１３０３で判定されたファイルのファイル形式が、テキスト情報を含むファイルのファイル形式であるか否かを判定する（ステップＳ１３０６）。
【０２１３】
図１８は、テキスト情報を含むのファイル形式１８０１と、当該ファイル形式のファイルからテキスト情報を抽出するプログラム１８０２とが関連付けられて記憶されたテキスト情報抽出情報１８００の一例を示す図である。テキスト情報抽出情報（図１８）は、プロキシサーバ１０１の記憶部に記憶されている。
テキスト情報抽出情報１８００には、図１８に示すように、ファイル形式と、当該ファイル形式に適したプログラムが関連付けられている。
【０２１４】
ステップＳ１３０６では、ステップＳ１３０３で判定されたファイルのファイル形式が、テキスト情報抽出情報１８００（図１８）のファイル形式１８０１に記憶されているか否かを判定することにより、テキスト情報を含むファイルのファイル形式であるか否かを判定する。
【０２１５】
すなわち、ステップＳ１３０３で判定されたファイルのファイル形式が、テキスト情報抽出情報１８００（図１８）のファイル形式１８０１に記憶されている場合は、テキスト情報を含むファイルのファイル形式であると判定する。一方、テキスト情報抽出情報１８００（図１８）のファイル形式１８０１に記憶されていない場合は、テキスト情報を含むファイルのファイル形式であると判定する。
【０２１６】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１３０６において、テキスト情報を含むファイルのファイル形式であると判定された場合は（ＹＥＳ）、テキスト情報抽出情報１８００に、該ファイル形式に関連付けて記憶されているテキスト抽出プログラムを実行し、ステップＳ１００１で受信したリクエストデータに含まれるファイルのテキスト情報を抽出し取得する（ステップＳ１３０７）。
【０２１７】
以上のようにして、ファイルがテキスト情報を含む形式である場合は、ステップＳ１３０３で取得したファイルのファイル形式に適した方法でテキスト情報を取得することができる。
【０２１８】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１３０６において、テキスト情報を含まないファイルのファイル形式であると判定された場合（ＮＯ）、すなわち、テキスト情報を含まない画像等のファイル形式であると判定された場合は、処理をステップＳ１３０８に移行する。
【０２１９】
次に、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１３０８では、リクエストデータに含まれるファイル以外のフィールドのデータからテキスト情報を取得する。ここでは、リクエストデータに含まれるリクエスト先のＵＲＬ、リクエストデータに含まれる、クライアントＰＣ１０４を使用しているユーザのユーザ名、パスワードを取得する。なお、ユーザのユーザ名、パスワードが暗号化されている場合は、復号して該ユーザ名、該パスワードを取得する。本実施の形態において、ここで取得されるユーザ名、パスワードは、プロキシ認証で用いられる情報として説明するが、ユーザ、又はクライアントＰＣ１０４を識別可能な情報であれば、何でも構わない。
【０２２０】
ステップＳ１３０１からステップＳ１３０８の処理で取得したリクエストデータの詳細情報（ファイル、ファイルサイズ、ファイル形式、ファイルの拡張子、ファイル内のテキスト情報、ファイル以外のフィールドのテキスト情報、リクエストのデータに含まれるＵＲＬ、リクエストのデータに含まれるユーザ名とパスワードなど）は、リクエストルール（条件）とマッチ（合致）するかを判定する処理（ステップＳ１００４）で使用する。
以下、図１０のフローチャートの説明に戻る。
【０２２１】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１００４において、ステップＳ１００３で取得したリクエストの詳細情報に対して、ルールＤＢ１０２に登録されているリクエストルールを適用する。
【０２２２】
すなわち、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１００３で取得したリクエストの詳細情報が、ルールＤＢ１０２に登録されているリクエストルールの条件に一致するか否かを判定する。なお、ステップＳ１００４のリクエストルールの適用処理の詳細処理は、図１５を参照して後述する。
【０２２３】
次に、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１００５において、ステップＳ１００４のリクエストルール適用処理で設定されたリクエストデータの通信（中継）の動作設定が許可か禁止かを判定する。そして、禁止された動作設定であると判定した場合には（ステップＳ１００５でＮＯ）、プロキシサーバ１０１のＣＰＵ２０１は、リクエストを送信したクライアントＰＣ１０４に対して、リクエストが禁止された旨を示す応答（通信不許可情報）を送信し（ステップＳ１０１２）、本フローチャートの処理を終了する。
【０２２４】
一方、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１００４のリクエストルールの適用処理で設定されたリクエストデータの通信（中継）の動作設定が許可された動作設定であると判定された場合には（ステップＳ１００５でＹＥＳ）、ステップＳ１００６に処理を進める。
【０２２５】
ステップＳ１００６では、プロキシサーバ１０１のＣＰＵ２０１は、クライアントＰＣ１０４から送信されたリクエスト（リクエストのデータ）をウェブサーバ１０７に送信する。
【０２２６】
このとき、プロキシサーバ１０１のＣＰＵ２０１は、リクエストを送信した通信回線を識別可能な識別子であるプロセスＩＤ２１０１を図２１に示す通信管理テーブルに記憶する。
図２１は、通信管理テーブル２１００の一例である。
【０２２７】
また、プロキシサーバ１０１のＣＰＵ２０１は、通信管理テーブル２１００に記憶されたプロセスＩＤで特定される通信回線を用いて送信されたリクエストデータから取得したクライアントＰＣのユーザ名２１０４と、該リクエストデータから取得した当該クライアントＰＣのＩＰアドレス、該リクエストデータから取得したウェブサーバのＵＲＬ２１０３とを、当該プロセスＩＤ２１０１と図２１のように関連付けて記憶する。
【０２２８】
次に、ステップＳ１００７では、プロキシサーバ１０１のＣＰＵ２０１は、ウェブサーバ１０７からのレスポンスデータを受信するまで待機し、受信した場合（ステップＳ１００７）には、ステップＳ１００８以降の処理を実行する。
【０２２９】
ステップＳ１００８では、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１００７で受信したレスポンスの詳細情報（レスポンスデータに含まれるファイル、該ファイルのサイズ、該ファイルのファイル形式、該ファイルの拡張子、及びそれ以外のフィールドに含まれるテキスト情報、ウェブサーバ１０７のＵＲＬ、クライアントＰＣ１０４のユーザ名など）を取得する（レスポンス詳細情報取得処理）。
【０２３０】
レスポンス詳細情報取得処理では、レスポンスデータの中から、レスポンスデータに含まれるファイル、該ファイルのサイズ、該ファイルのファイル形式、該ファイルの拡張子、及びそれ以外のフィールドに含まれるテキスト情報を取得する。
【０２３１】
なお、レスポンスデータを送信するウェブサーバ１０７のＵＲＬ、及び、リクエストデータを送信するクライアントＰＣ１０４のユーザ名は、リクエストデータを中継した際に用いた通信回線を識別可能なプロセスＩＤと関連付けられて、図２１の通信管理テーブル２１００に記憶している。そのため、当該通信回線を介して受信したレスポンスデータは、当該通信回線のプロセスＩＤに関連付けられているＵＲＬのウェブサーバ１０７から送信され、当該プロセスＩＤに関連付けられているユーザ名のクライアントＰＣ１０４に送信されるものであると特定することができる。すなわち、レスポンス詳細情報取得処理では、該通信管理テーブル２１００を参照し、レスポンスデータを受信した通信回線のプロセスＩＤに関連付けられて記憶されたＵＲＬ及びユーザ名を特定し、該ＵＲＬ及び該ユーザ名を通信管理テーブルから取得する。
レスポンス詳細情報処理の詳細処理については、図１９を用いて説明する。
【０２３２】
次に、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１００９では、ステップＳ１００８で取得したレスポンスデータの詳細情報に対して、ルールＤＢ１０２に登録されているレスポンスルールを適用する。なお、レスポンスルールの適用処理の詳細処理については、図２０を用いて説明する。
【０２３３】
次に、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１０１０において、ステップＳ１００９のレスポンスルール適用処理でクライアントＰＣ１０４への通信（レスポンスデータの中継）が許可されたか禁止されたかを判定する。
【０２３４】
そして、プロキシサーバ１０１のＣＰＵ２０１は、通信（中継）が禁止されたと判定した場合には（ステップＳ１０１０でＮＯ）、リクエストを送信したクライアントＰＣ１０４に対するレスポンスデータの中継を禁止する旨の応答を送信し（ステップＳ１０１２）、本フローチャートの処理を終了し、処理をステップＳ４０５に移行する。
【０２３５】
一方、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１００９のレスポンスルールの適用処理で、レスポンスデータの通信（中継）が許可されたと判定された場合には（ステップＳ１０１０でＹＥＳ）、ステップＳ１０１１に処理を進める。
【０２３６】
次に、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１０１１において、リクエストを送信したクライアントＰＣ１０４に対して、ウェブサーバ１０７から受信したレスポンスデータを送信（中継）し、本フローチャートの処理を終了し、処理をステップＳ４０５に移行する。
【０２３７】
以下に、図１５を参照して、図１０のステップＳ１００４に示したリクエストルール適用処理の詳細処理に説明する。
【０２３８】
図１５は、図１０のステップＳ１００４に示したリクエストルール適用処理の詳細処理を示すフローチャートである。即ち、本処理は、プロキシサーバ１０１のＣＰＵ２０１によって行われる。
【０２３９】
まず、プロキシサーバ１０１のＣＰＵ２０１は、図１５のステップＳ１５０１において、未適用のリクエストルールがあるか否かを判断する。プロキシサーバ１０１のＣＰＵ２０１は、未適用のリクエストルールがある場合には（ステップＳ１５０１でＹＥＳ）、リクエストルールテーブル９１００に登録されているリクエストルールを適用順に１件ずつ取得する（ステップＳ１５０２）。
【０２４０】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１５０３では、１５０２で取得したリクエストルールの各条件がリクエストデータにマッチ（合致）するか否かを判断する。ここで、図１６を参照して、リクエストルールがリクエストデータにマッチするか否かを判定する処理の詳細処理について説明する。
【０２４１】
図１６は、図１５のステップＳ１５０３に示したリクエストルールがリクエストデータにマッチするか否かを判定する処理の詳細処理を示すフローチャートである。即ち、本処理は、プロキシサーバ１０１のＣＰＵ２０１によって行われる。
【０２４２】
プロキシサーバ１０１のＣＰＵ２０１は、図１６のステップＳ１６０１において、リクエストルールテーブル９１００から取得した当該リクエストルールのＵＲＬ９１０４にＵＲＬが設定されているか否かを判定する。プロキシサーバ１０１のＣＰＵ２０１は、ＵＲＬが設定されていないと判定された場合は（ステップＳ１６０１でＮＯ）、ステップＳ１６０３に処理を進める。一方、ＵＲＬが設定されていると判定された場合は（ステップＳ１６０１でＹＥＳ）、ステップＳ１６０２に処理を進める。
【０２４３】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６０２では、当該リクエストルールのＵＲＬ９１０４に設定されているＵＲＬが、ステップＳ１００３でリクエストデータから取得したＵＲＬにマッチするか否かを判定する。プロキシサーバ１０１のＣＰＵ２０１は、マッチしないと判定された場合は（ステップＳ１６０２でＮＯ）、ステップＳ１００３で取得したリクエストデータが、ステップＳ１５０３で取得したリクエストルールの条件に該当しない（一致しない）と決定する（ステップＳ１６１６）。一方、プロキシサーバ１０１のＣＰＵ２０１は、マッチすると判断した場合は（ステップＳ１６０２でＹＥＳ）、ステップＳ１６０３に処理を進める。
【０２４４】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６０３では、ステップＳ１５０２でリクエストルールテーブル９１００から取得した当該リクエストルールのカテゴリ９１０５にカテゴリが設定されているか否かを判定する。プロキシサーバ１０１のＣＰＵ２０１は、カテゴリが設定されていない場合は（ステップＳ１６０３でＮＯ）、ステップＳ１６０５に処理を進める。一方、カテゴリが設定されている場合は（ステップＳ１６０３でＹＥＳ）、ステップＳ１６０４に処理を進める。
【０２４５】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６０４では、ステップＳ１５０２で取得したリクエストルールに設定されているカテゴリが、ステップＳ１００２でのＵＲＬカテゴリ判定処理で判定されたカテゴリと同一か（マッチするか）否かを判定する。マッチしないと判定された場合は（ステップＳ１６０４でＮＯ）、処理をステップＳ１６１６に移行する。また、ステップＳ１００２のＵＲＬカテゴリ判定処理でカテゴリなしと判定された場合も当該リクエストルールがリクエストデータにマッチしないと判断して処理をステップＳ１６１６に移行する。一方、マッチすると判定された場合は（ステップＳ１６０４でＹＥＳ）、ステップＳ１６０５に処理を進める。
【０２４６】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６０５では、ステップＳ１５０２で取得したリクエストルールのファイル形式９１０６にファイル形式が設定されているか否かを判断する。そして、ファイル形式が設定されていないと判定された場合は（ステップＳ１６０５でＮＯ）、ステップＳ１６０７に処理を進める。一方、ファイル形式が設定されていると判定された場合は（ステップＳ１６０５でＹＥＳ）、ステップＳ１６０６に処理を進める。
【０２４７】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６０６では、ファイル形式９１０６に設定されているファイル形式が、ステップＳ１３０３で判定されたファイルのファイル形式にマッチするか否かを判定する。マッチしないと判定された場合は（ステップＳ１６０６でＮＯ）、処理をステップＳ１６１６に移行する。
【０２４８】
また、プロキシサーバ１０１のＣＰＵ２０１は、リクエストデータにファイルが含まれていない場合も、当該リクエストルールがリクエストデータにマッチしないと判断して処理をステップＳ１６１６に移行する。一方、マッチすると判断した場合は（ステップＳ１６０６でＹＥＳ）、ＣＰＵ２０１は、ステップＳ１６０７に処理を進める。
【０２４９】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６０７では、ステップＳ１５０２で取得したリクエストルールのサイズ９１０７及びサイズ条件９１０８が設定されているか否かを判断する。サイズ及びサイズ条件が設定されていないと判定された場合は（ステップＳ１６０７でＮＯ）、ステップＳ１６０９に処理を進める。一方、サイズ及びサイズ条件が設定されている場合は（ステップＳ１６０７でＹＥＳ）、ステップＳ１６０８に処理を進める。
【０２５０】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６０８では、ステップＳ１３０２で取得したファイルのサイズが、ステップＳ１５０２で取得したリクエストルールのサイズ９１０７及びサイズ条件９１０８を満たすか（マッチするか）否かを判定する。マッチしないと判断した場合は（ステップＳ１６０８でＮＯ）、処理をステップＳ１６１６に移行する。また、リクエストデータにファイルが含まれていない場合も、当該リクエストルールがリクエストデータにマッチしないと判断して処理をステップＳ１６１６に移行する。一方、マッチすると判断した場合は（ステップＳ１６０８でＹＥＳ）、ＣＰＵ２０１は、ステップＳ１６０９に処理を進める。
【０２５１】
ステップＳ１６０９では、ステップＳ１５０９で取得したリクエストルールのファイル形式と拡張子９１０９にファイル形式と拡張子の一致条件が設定されているか否かを判断する。ファイル形式と拡張子の一致条件が設定されていないと判定された場合は（ステップＳ１６０９でＮＯ）、ステップＳ１６１１に処理を進める。一方、ファイル形式と拡張子の一致条件が設定されていると判定された場合は（ステップＳ１６０９でＹＥＳ）、ステップＳ１６１０に処理を進める。
【０２５２】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６１０では、図１３のステップＳ１３０５での判定結果（ファイル形式と拡張子が一致するか否かの判定結果）と、ステップＳ１５０２で取得したリクエストルールの「ファイル形式と拡張子」９１０９に設定された一致する／一致しないという条件が、一致するか（マッチするか）否かを判定する。マッチしないと判定された場合は（ステップＳ１６１０でＮＯ）、処理をステップＳ１６１６に移行する。また、リクエストデータにファイルが含まれていない場合も、当該リクエストルールがリクエストデータにマッチしないと判断して処理をステップＳ１６１６に移行する。一方、マッチすると判断した場合は（ステップＳ１６１０でＹＥＳ）、ＣＰＵ２０１は、ステップＳ１６１１に処理を進める。
【０２５３】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６１１では、ステップＳ１５０２で取得したリクエストルールのキーワード９１１０にキーワードが設定されているか否かを判断する。キーワードが設定されていないと判定された場合は（ステップＳ１６１１でＮＯ）、ステップＳ１６１３に処理を進める。一方、キーワードが設定されている場合は（ステップＳ１６１１でＹＥＳ）、ステップＳ１６１２に処理を進める。
【０２５４】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６１２では、ステップＳ１３０７及びステップＳ１３０８で取得したテキスト情報が、ステップＳ１５０２で取得したリクエストルールのキーワード９１１０に設定されているキーワードの条件を満たすか（マッチするか）否かを判定する。すなわち、ステップＳ１６１２では、ステップＳ１５０２で取得したリクエストルールのキーワード９１１０に設定されているキーワードが、ステップＳ１３０７及びステップＳ１３０８で取得したテキスト情報の中に含まれているかを判定する。マッチしないと判断した場合は（ステップＳ１６１２でＮＯ）、処理をステップＳ１６１６に移行する。また、リクエストデータにテキスト情報が含まれない場合も、マッチしないと判断して処理をステップＳ１６１６に移行する。一方、マッチすると判断した場合は（ステップＳ１６１２でＹＥＳ）、ＣＰＵ２０１は、ステップＳ１６１３に処理を進める。
【０２５５】
ステップＳ１６１３において、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１５０２で取得したリクエストルールのユーザ／グループ９１０３にユーザ名又はグループ名が設定されているか否かを判定する。そして、ステップＳ１５０２で取得したリクエストルールのユーザ／グループ９１０３にユーザ名又はグループ名が設定されていると判定された場合は（ステップＳ１６１３でＹＥＳ）、処理をステップＳ１６１４に移行する。一方、ユーザ／グループ９１０３にユーザ名又はグループ名が設定されていないと判定された場合は（ステップＳ１６１３でＮＯ）、処理をステップＳ１６１５に移行する。
【０２５６】
ステップＳ１６１４において、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１３０８でリクエストデータから取得したユーザ名又はグループ名と、ステップＳ１５０２で取得したリクエストルールのユーザ名又はグループ名とが一致するか否かを判定する。そして、一致すると判定された場合は（ステップＳ１６１４でＹＥＳ）、処理をステップＳ１６１５に移行する。
【０２５７】
ステップＳ１６１５では、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１５０２で取得したリクエストルールが、ステップＳ１００３で取得したリクエストデータの詳細情報にマッチすると判定して（ステップＳ１５０３でＹＥＳ）、処理をステップＳ１５０４に移行する。すなわち、ステップＳ１６１５では、ステップＳ１００３で取得したリクエストデータの詳細情報が、ステップＳ１５０３で取得したリクエストルールの条件を満たす（一致する）と決定する。
【０２５８】
ステップＳ１６１６では、ステップＳ１００３で取得したリクエストデータの詳細情報が、ステップＳ１５０３で取得したリクエストルールの条件を満たさない（一致しない）と判定し（ステップＳ１５０３でＮＯ）、処理をステップＳ１５０１に移行する。
以下、図１５のフローチャートの説明に戻る。
【０２５９】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１５０３において、リクエストデータの詳細情報が、ステップＳ１５０２で取得したリクエストルールにマッチすると判断した場合は（ステップＳ１５０３でＹＥＳ）、当該リクエストルールの動作９１１１に設定されている動作を行う設定（動作設定が許可か禁止かの設定）を行い（ステップＳ１５０４）、処理をステップＳ１００５に移行する。
【０２６０】
一方、ステップＳ１５０３において、リクエストデータの詳細情報が当該リクエストルールにマッチしないと判断した場合は（ステップＳ１５０３でＮＯ）、ＣＰＵ２０１はステップＳ１５０１に処理を戻す。
【０２６１】
そしてステップＳ１５０１で、未適用のリクエストルールがない（全てのリクエストルールを適用した）と判断した場合には（ステップＳ１５０１でＮＯ）、ＣＰＵ２０１は、デフォルト動作として予め設定されている（全てのリクエストルールに適合しなかった場合の）動作（中継の許可／禁止）を行う設定（動作設定が許可か禁止かの設定）を行い（ステップＳ１５０５）、処理をステップＳ１００５に移行する。
以上が、図１０のステップＳ１００４のリクエストルール適用処理の詳細な説明である。
次に、図１９を参照して、ステップＳ１００８の詳細処理を説明する。
図１９は、図１０に示すステップＳ１００８の詳細処理を示すフローチャートである。
即ち、本処理は、プロキシサーバ１０１のＣＰＵ２０１によって行われる。
【０２６２】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１００６で受信したレスポンスデータにファイルが含まれているか否かを判定する（ステップＳ１９０１）。そして、レスポンスデータにファイルが含まれていないと判定された場合は（ステップＳ１９０１でＮＯ）、処理をステップＳ１９０８に移行する。
【０２６３】
一方、ステップＳ１９０１で、レスポンスデータにファイルが含まれていると判定された場合は（ステップＳ１９０１でＹＥＳ）、当該ファイルのファイルサイズを取得する（ステップＳ１９０２）。ここで、ファイルサイズは、レスポンスデータに含まれているファイルを解析して、当該ファイルのファイルサイズを計算することにより取得される。
【０２６４】
次に、プロキシサーバ１０１のＣＰＵ２０１は、レスポンスデータに含まれるファイルのファイル形式を判定する。ここで、ファイル形式は、ファイルの拡張子ではなく、ファイルに含まれるマジックナンバーを用いて判定される。
ファイルには、通常マジックナンバーと呼ばれるファイル形式ごとに特徴的な情報がファイルの先頭や末尾などに格納されている。
【０２６５】
例えば、ファイル形式がＰＤＦの場合は、ファイルの先頭５バイトが％ＰＤＦ−となる。レスポンスヘッダーに記載されたＣｏｎｔｅｎｔ−Ｔｙｐｅによらず、マジックナンバーでファイル形式を判定することでファイルに間違った拡張子が付与されている場合や、意図的に変更されている場合でも、本来のファイル形式を判定することが可能となる。尚、レスポンスデータに含まれるファイルが圧縮されている場合は、そのファイルを解凍した上でファイル形式を判定する。
【０２６６】
マジックナンバーによるファイル形式の判定では、あらかじめファイル形式ごとのマジックナンバーを知っておく必要がある。ここでは、リクエストデータに含まれるファイルのファイル形式を判定するステップＳ１３０３と同様に、マジックナンバーによるファイル形式の判定で使用するファイル形式とマジックナンバーの対応表（図１４）を用いて判定する。すなわち、ファイル内のマジックナンバーを取得し、当該取得したマジックナンバーに対応するファイル形式を、図１４のファイル形式とマジックナンバーの対応表から特定することができる。
【０２６７】
次に、プロキシサーバ１０１のＣＰＵ２０１は、レスポンスデータに含まれるファイルのファイル名から、当該ファイル名に含まれている拡張子を取得する（ステップＳ１９０４）。
【０２６８】
次に、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１９０３で判定したファイル形式と、ステップＳ１９０４で取得した拡張子が一致しているか否かを判定する（ステップＳ１９０５）。ここで、ファイル形式と拡張子が一致しているか否かを判定する処理について説明する。
【０２６９】
ファイル形式には、通常付与される拡張子がある。例えば、ファイル形式がＰＤＦ（ポータブル・ドキュメント・フォーマット）であるファイルには、通常ｐｄｆが拡張子として付与される。また、ファイル形式がＲＴＦ（リッチテキストフォーマット）であるファイルには、通常ｒｔｆが拡張子として付与される。ファイル形式と付与されている拡張子が一致しているか否かの判定では、図１７に示すようなファイル形式ごとに付与されるべき拡張子の対応表１７００を使用する。
【０２７０】
図１７に示すファイル形式と拡張子の対応表１７００には、ファイル形式をファイル形式１７０１に、当該ファイル形式の拡張子を拡張子１７０２に記憶されている。
【０２７１】
ファイル形式と拡張子が一致しているか否かを判定する場合は、ステップＳ１９０３で判定されたファイル形式をファイル形式１７０１から検索し、検索されたファイル形式に対応する（同一レコードの）拡張子を全て拡張子１７０２の列から取得する。
【０２７２】
そして、ステップＳ１９０４で取得した、ファイル名に付与されている拡張子が、当該取得した拡張子の中にある場合は、ファイル形式と拡張子が一致すると判断し、ない場合は一致しないと判断する。
【０２７３】
ステップＳ１９０５で、ファイル形式と拡張子が一致すると判定された場合には、拡張子の偽装はないことを示し、ファイル形式と拡張子が一致しないと判定された場合には、拡張子の偽装があることを示している。
以下、図１９のフローチャートの説明に戻る。
【０２７４】
次に、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１９０３で判定されたファイルのファイル形式が、テキスト情報を含むファイルのファイル形式であるか否かを判定する（ステップＳ１９０６）。
【０２７５】
ステップＳ１９０６では、ステップＳ１９０３で判定されたファイルのファイル形式が、テキスト情報抽出情報１８００（図１８）のファイル形式１８０１に記憶されているか否かを判定することにより、テキスト情報を含むファイルのファイル形式であるか否かを判定する。
【０２７６】
すなわち、ステップＳ１９０３で判定されたファイルのファイル形式が、テキスト情報抽出情報１８００（図１８）のファイル形式１８０１に記憶されている場合は、テキスト情報を含むファイルのファイル形式であると判定する。一方、テキスト情報抽出情報１８００（図１８）のファイル形式１８０１に記憶されていない場合は、テキスト情報を含むファイルのファイル形式であると判定する。
【０２７７】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１９０６において、テキスト情報を含むファイルのファイル形式であると判定された場合は（ＹＥＳ）、テキスト情報抽出情報１８００に、該ファイル形式に関連付けて記憶されているテキスト抽出プログラムを実行し、ステップＳ１００６で受信したレスポンスデータに含まれるファイルのテキスト情報を抽出し取得する（ステップＳ１９０７）。
【０２７８】
以上のようにして、ファイルがテキスト情報を含む形式である場合は、ステップＳ１９０３で取得したファイルのファイル形式に適した方法でテキスト情報を取得することができる。例えば、表計算のアプリケーションのファイル形式であれば、その形式に適したプログラムでテキスト情報を取得することができる。
【０２７９】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１９０６において、テキスト情報を含まないファイルのファイル形式であると判定された場合（ＮＯ）、すなわち、テキスト情報を含まない画像等のファイル形式であると判定された場合は、処理をステップＳ１９０８に移行する。
【０２８０】
次に、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１９０８では、レスポンスデータに含まれるファイル以外のフィールドのデータからテキスト情報を取得する。
【０２８１】
さらに、ここで、プロキシサーバ１０１のＣＰＵ２０１は、通信管理テーブル（図２１）の中から、レスポンスデータが送信されたウェブサーバ１０７のＵＲＬ、及びレスポンスデータの送信先であるクライアントＰＣ１０４のユーザ名を取得する。
【０２８２】
ここでは、リクエストの送信、及びレスポンスデータの受信で用いられる通信回線を特定可能なプロセスＩＤに関連付けて通信管理テーブル２１００に記憶されている、ウェブサーバのＵＲＬ２１０３、及びユーザ名２１０４を取得する。
【０２８３】
ステップＳ１９０１からステップＳ１９０８の処理で取得したレスポンスデータの詳細情報（ファイル、ファイルサイズ、ファイル形式、ファイルの拡張子、ファイル内のテキスト情報、ファイル以外のフィールドのテキスト情報、ＵＲＬ、ユーザ名など）は、レスポンスルール（条件）とマッチ（合致）するかを判定する処理（ステップＳ１００９）で使用する。
次に、図２０を参照して、ステップＳ１０９の詳細処理を説明する。
【０２８４】
図２０は、図１０に示すステップＳ１００９の詳細処理を示すフローチャートである。即ち、本処理は、プロキシサーバ１０１のＣＰＵ２０１によって行われる。
【０２８５】
まず、プロキシサーバ１０１のＣＰＵ２０１は、図２０のステップＳ２００１において、未適用のレスポンスルールがあるか否かを判断する。プロキシサーバ１０１のＣＰＵ２０１は、未適用のレスポンスルールがある場合には（ステップＳ２００１でＹＥＳ）、レスポンスルールテーブル９２００に登録されているレスポンスルールを適用順に１件ずつ取得する（ステップＳ２００２）。
【０２８６】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ２００３では、１５０２で取得したレスポンスルールの各条件がレスポンスデータにマッチ（合致）するか否かを判断する。
図１６は、ステップＳ１５０３の詳細処理として上述して説明してきたが、ここからは、図１６をステップＳ２００３の詳細処理として説明する。
ここで、図１６を参照して、レスポンスルールがレスポンスデータにマッチするか否かを判定する処理の詳細処理について説明する。
【０２８７】
図１６は、図２０のステップＳ２００３に示したレスポンスルールがレスポンスデータにマッチするか否かを判定する処理の詳細処理を示すフローチャートである。即ち、本処理は、プロキシサーバ１０１のＣＰＵ２０１によって行われる。
【０２８８】
プロキシサーバ１０１のＣＰＵ２０１は、図１６のステップＳ１６０１において、レスポンスルールテーブル９２００から取得した当該レスポンスルールのＵＲＬ９２０４にＵＲＬが設定されているか否かを判定する。プロキシサーバ１０１のＣＰＵ２０１は、ＵＲＬが設定されていないと判定された場合は（ステップＳ１６０１でＮＯ）、ステップＳ１６０３に処理を進める。一方、ＵＲＬが設定されていると判定された場合は（ステップＳ１６０１でＹＥＳ）、ステップＳ１６０２に処理を進める。
【０２８９】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６０２では、当該レスポンスルールのＵＲＬ９２０４に設定されているＵＲＬが、ステップＳ１９０８で取得したＵＲＬにマッチするか否かを判定する。プロキシサーバ１０１のＣＰＵ２０１は、マッチしないと判定された場合は（ステップＳ１６０２でＮＯ）、ステップＳ１００８で取得したレスポンスデータが、ステップＳ２００３で取得したレスポンスルールの条件に該当しない（一致しない）と決定する（ステップＳ１６１６）。一方、プロキシサーバ１０１のＣＰＵ２０１は、マッチすると判断した場合は（ステップＳ１６０２でＹＥＳ）、ステップＳ１６０３に処理を進める。
【０２９０】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６０３では、ステップＳ２００２でレスポンスルールテーブル９２００から取得した当該レスポンスルールのカテゴリ９２０５にカテゴリが設定されているか否かを判定する。プロキシサーバ１０１のＣＰＵ２０１は、カテゴリが設定されていない場合は（ステップＳ１６０３でＮＯ）、ステップＳ１６０５に処理を進める。一方、カテゴリが設定されている場合は（ステップＳ１６０３でＹＥＳ）、ステップＳ１６０４に処理を進める。
【０２９１】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６０４では、ステップＳ２００２で取得したレスポンスルールに設定されているカテゴリが、ステップＳ１００２でのＵＲＬカテゴリ判定処理で判定されたカテゴリと同一か（マッチするか）否かを判定する。
【０２９２】
すなわち、ここでは、ステップＳ１９０８で取得したＵＲＬのカテゴリがステップＳ１００２で判定されており、その判定結果であるカテゴリと、ステップＳ２００２で取得したレスポンスルールに設定されているカテゴリとが同一か否かを判定する。そして、同一ではない（マッチしない）と判定された場合は（ステップＳ１６０４でＮＯ）、処理をステップＳ１６１６に移行する。また、ステップＳ１００２のＵＲＬカテゴリ判定処理でカテゴリなしと判定された場合も当該レスポンスルールがレスポンスデータにマッチしないと判断して処理をステップＳ１６１６に移行する。一方、マッチすると判定された場合は（ステップＳ１６０４でＹＥＳ）、ステップＳ１６０５に処理を進める。
【０２９３】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６０５では、ステップＳ２００２で取得したレスポンスルールのファイル形式９２０６にファイル形式が設定されているか否かを判断する。そして、ファイル形式が設定されていないと判定された場合は（ステップＳ１６０５でＮＯ）、ステップＳ１６０７に処理を進める。一方、ファイル形式が設定されていると判定された場合は（ステップＳ１６０５でＹＥＳ）、ステップＳ１６０６に処理を進める。
【０２９４】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６０６では、ファイル形式９２０６に設定されているファイル形式が、ステップＳ１９０３で判定されたファイルのファイル形式にマッチするか否かを判定する。マッチしないと判定された場合は（ステップＳ１６０６でＮＯ）、処理をステップＳ１６１６に移行する。
【０２９５】
また、プロキシサーバ１０１のＣＰＵ２０１は、レスポンスデータにファイルが含まれていない場合も、当該レスポンスルールがレスポンスデータにマッチしないと判断して処理をステップＳ１６１６に移行する。一方、マッチすると判断した場合は（ステップＳ１６０６でＹＥＳ）、ＣＰＵ２０１は、ステップＳ１６０７に処理を進める。
【０２９６】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６０７では、ステップＳ２００２で取得したレスポンスルールのサイズ９２０７及びサイズ条件９２０８が設定されているか否かを判断する。サイズ及びサイズ条件が設定されていないと判定された場合は（ステップＳ１６０７でＮＯ）、ステップＳ１６０９に処理を進める。一方、サイズ及びサイズ条件が設定されている場合は（ステップＳ１６０７でＹＥＳ）、ステップＳ１６０８に処理を進める。
【０２９７】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６０８では、ステップＳ１９０２で取得したファイルのサイズが、ステップＳ２００２で取得したレスポンスルールのサイズ９２０７及びサイズ条件９２０８を満たすか（マッチするか）否かを判定する。マッチしないと判断した場合は（ステップＳ１６０８でＮＯ）、処理をステップＳ１６１６に移行する。また、レスポンスデータにファイルが含まれていない場合も、当該レスポンスルールがレスポンスデータにマッチしないと判断して処理をステップＳ１６１６に移行する。一方、マッチすると判断した場合は（ステップＳ１６０８でＹＥＳ）、ＣＰＵ２０１は、ステップＳ１６０９に処理を進める。
【０２９８】
ステップＳ１６０９では、ステップＳ２００２で取得したレスポンスルールのファイル形式と拡張子９２０９にファイル形式と拡張子の一致条件が設定されているか否かを判断する。ファイル形式と拡張子の一致条件が設定されていないと判定された場合は（ステップＳ１６０９でＮＯ）、ステップＳ１６１１に処理を進める。一方、ファイル形式と拡張子の一致条件が設定されていると判定された場合は（ステップＳ１６０９でＹＥＳ）、ステップＳ１６１０に処理を進める。
【０２９９】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６１０では、図１３のステップＳ１９０５での判定結果（ファイル形式と拡張子が一致するか否かの判定結果［一致する／一致しない］）と、ステップＳ２００２で取得したレスポンスルールの「ファイル形式と拡張子」９２０９に設定された一致する／一致しないという条件が、一致するか（マッチするか）否かを判定する。マッチしないと判定された場合は（ステップＳ１６１０でＮＯ）、処理をステップＳ１６１６に移行する。また、レスポンスデータにファイルが含まれていない場合も、当該レスポンスルールがレスポンスデータにマッチしないと判断して処理をステップＳ１６１６に移行する。一方、マッチすると判断した場合は（ステップＳ１６１０でＹＥＳ）、ＣＰＵ２０１は、ステップＳ１６１１に処理を進める。
【０３００】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６１１では、ステップＳ２００２で取得したレスポンスルールのキーワード９２１０にキーワードが設定されているか否かを判断する。キーワードが設定されていないと判定された場合は（ステップＳ１６１１でＮＯ）、ステップＳ１６１３に処理を進める。一方、キーワードが設定されている場合は（ステップＳ１６１１でＹＥＳ）、ステップＳ１６１２に処理を進める。
【０３０１】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１６１２では、ステップＳ１９０７及びステップＳ１８０８で取得したテキスト情報が、ステップＳ２００２で取得したレスポンスルールのキーワード９２１０に設定されているキーワードの条件を満たすか（マッチするか）否かを判定する。すなわち、ステップＳ１６１２では、ステップＳ２００２で取得したレスポンスルールのキーワード９２１０に設定されているキーワードが、ステップＳ１９０７及びステップＳ１９０８で取得したテキスト情報の中に含まれているかを判定する。マッチしないと判断した場合は（ステップＳ１６１２でＮＯ）、処理をステップＳ１６１６に移行する。また、レスポンスデータにテキスト情報が含まれない場合も、マッチしないと判断して処理をステップＳ１６１６に移行する。一方、マッチすると判断した場合は（ステップＳ１６１２でＹＥＳ）、ＣＰＵ２０１は、ステップＳ１６１３に処理を進める。
【０３０２】
ステップＳ１６１３において、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ２００２で取得したレスポンスルールのユーザ／グループ９２０３にユーザ名又はグループ名が設定されているか否かを判定する。そして、ステップＳ２００２で取得したレスポンスルールのユーザ／グループ９２０３にユーザ名又はグループ名が設定されていると判定された場合は（ステップＳ１６１３でＹＥＳ）、処理をステップＳ１６１４に移行する。一方、ユーザ／グループ９２０３にユーザ名又はグループ名が設定されていないと判定された場合は（ステップＳ１６１３でＮＯ）、処理をステップＳ１６１５に移行する。
【０３０３】
ステップＳ１６１４において、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１９０８で通信管理テーブル（図２１）から取得したユーザ名又はグループ名と、ステップＳ２００２で取得したレスポンスルールのユーザ名又はグループ名とが一致するか否かを判定する。そして、一致すると判定された場合は（ステップＳ１６１４でＹＥＳ）、処理をステップＳ１６１５に移行する。
【０３０４】
ステップＳ１６１５では、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ２００２で取得したレスポンスルールが、ステップＳ１００８で取得したレスポンスデータの詳細情報にマッチすると判定して（ステップＳ２００３でＹＥＳ）、処理をステップＳ２００４に移行する。すなわち、ステップＳ１６１５では、ステップＳ１００８で取得したレスポンスデータの詳細情報が、ステップＳ２００３で取得したレスポンスルールの条件を満たす（一致する）と決定する。
【０３０５】
ステップＳ１６１６では、ステップＳ１００８で取得したレスポンスデータの詳細情報が、ステップＳ２００３で取得したレスポンスルールの条件を満たさない（一致しない）と判定し（ステップＳ２００３でＮＯ）、処理をステップＳ２００１に移行する。
以下、図２０のフローチャートの説明に戻る。
【０３０６】
プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ２００３において、レスポンスデータの詳細情報が、ステップＳ２００２で取得したレスポンスルールにマッチすると判断した場合は（ステップＳ２００３でＹＥＳ）、当該レスポンスルールの動作９２１１に設定されている動作を行う設定（動作設定が許可か禁止かの設定）を行い（ステップＳ２００４）、処理をステップＳ１０１０に移行する。
【０３０７】
一方、ステップＳ２００３において、レスポンスデータの詳細情報が当該レスポンスルールにマッチしないと判断した場合は（ステップＳ２００３でＮＯ）、ＣＰＵ２０１はステップＳ２００１に処理を戻す。
【０３０８】
そしてステップＳ２００１で、未適用のレスポンスルールがない（全てのレスポンスルールを適用した）と判断した場合には（ステップＳ２００１でＮＯ）、ＣＰＵ２０１は、デフォルト動作として予め設定されている（全てのレスポンスルールに適合しなかった場合の）動作（中継の許可／禁止）を行う設定（動作設定が許可か禁止かの設定）を行い（ステップＳ２００５）、処理をステップＳ１０１０に移行する。
以上が、図１０のステップＳ１００９のレスポンスルール適用処理の詳細な説明である。
図１０の説明に戻る。
【０３０９】
次に、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１０１０において、ステップＳ１００９のレスポンスルール適用処理で設定されたレスポンスデータの通信（中継）の動作設定が許可か禁止かを判定する。そして、禁止された動作設定であると判定した場合には（ステップＳ１０１０でＮＯ）、プロキシサーバ１０１のＣＰＵ２０１は、リクエストを送信したクライアントＰＣ１０４に対して、レスポンスデータの中継が禁止された旨を示す応答（通信不許可情報）を送信し（ステップＳ１０１２）、本フローチャートの処理を終了する。
【０３１０】
一方、プロキシサーバ１０１のＣＰＵ２０１は、ステップＳ１００９のレスポンスルールの適用処理で設定されたレスポンスデータの通信（中継）の動作設定が許可された動作設定であると判定された場合には（ステップＳ１０１０でＹＥＳ）、ステップＳ１０１１に処理を進める。
【０３１１】
ステップＳ１０１１では、プロキシサーバ１０１のＣＰＵ２０１は、リクエストを送信したクライアントＰＣ１０４に、当該リクエストの応答である、ウェブサーバ１０７から送信されたレスポンスデータを送信する。このとき、リクエストデータを送信する際に用いた通信回線を用いて、レスポンスデータを送信する。すなわち、当該通信回線を特定可能なプロセスＩＤ２１０１に関連付けて記憶されたクライアントＰＣのＩＰアドレスで特定されるクライアントＰＣにレスポンスデータを送信する。
【０３１２】
以上のように、本発明によれば、ファイルのマジックナンバーからリクエストデータやレスポンスデータに含まれるファイルの形式を判定することで、ファイルに間違った拡張子が付与されている場合や、意図的に変更されている場合でも本来のファイル形式を判定し、その判定結果に基づきリクエストデータやレスポンスデータに含まれるファイルを検査し、あらかじめ設定されている制御ルールの各条件とマッチするか否かを判断することで、ＨＴＴＰによるファイルの送受信を的確に制御（許可／禁止）することができる。
【０３１３】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０３１４】
また、リクエストルール詳細画面７００や不図示のレスポンスルール詳細画面においてクライアントＰＣ１０４のＩＰアドレスを設定できるようにしても良い。この場合は特定のＩＰアドレスを持つクライアントＰＣ１０４が行う通信にのみリクエストルールやレスポンスルールを適用するといった制御が可能となる。
【０３１５】
もしくは、リクエストルール詳細設定画面７００や不図示のレスポンスルール詳細画面においてユーザおよびユーザグループを設定できるようにしても良い。この場合は、特定のユーザおよびユーザグループが行う通信にのみリクエストルールやレスポンスルールを適用するといった制御が可能になる。
【０３１６】
また、ＨＴＴＰＳといった暗号化通信の場合は、リクエストやレスポンスの詳細情報を取得してリクエストルールやレスポンスルールを適用することができないが、その場合は暗号化通信であれば、通信を禁止するように設定可能にしても良い。もちろん、何らかの手段により、暗号化通信の詳細情報を取得できる場合は、リクエストルールやレスポンスルールを適用して通信の制御（許可／禁止）を行っても構わない。
【０３１７】
以上説明したように、本実施の形態によれば、データの送受信先やファイル形式に応じて通信データに含まれるファイルの送受信制御を的確に行うことができる。  
【０３１８】
以上、本発明の一実施形態を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。  
【０３１９】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。  
【０３２０】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。  
【０３２１】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。  
【０３２２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（基本システム或いはオペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。  
【０３２３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【符号の説明】
【０３２４】
１０１    プロキシサーバ  １０２    ルールデータベース  １０３    ＵＲＬデータベース  １０４−１    クライアントＰＣ  １０４−２    クライアントＰＣ  １０４−３    クライアントＰＣ  １０５    ＬＡＮ  １０６    広域ネットワーク  １０７−１    ウェブサーバ  １０７−２    ウェブサーバ  １０７−３    ウェブサーバ
【図１】
0005500200.tif 000002
【図２】
0005500200.tif 000003
【図３】
0005500200.tif 000004
【図４】
0005500200.tif 000005
【図５】
0005500200.tif 000006
【図６】
0005500200.tif 000007
【図７】
0005500200.tif 000008
【図８】
0005500200.tif 000009
【図９】
0005500200.tif 000010
【図１０】
0005500200.tif 000011
【図１１】
0005500200.tif 000012
【図１２】
0005500200.tif 000013
【図１３】
0005500200.tif 000014
【図１４】
0005500200.tif 000015
【図１５】
0005500200.tif 000016
【図１６】
0005500200.tif 000017
【図１７】
0005500200.tif 000018
【図１８】
0005500200.tif 000019
【図１９】
0005500200.tif 000020
【図２０】
0005500200.tif 000021
【図２１】
0005500200.tif 000022