サーバ装置、フォーム処理方法、プログラム
【課題】 システム構成を大幅に変更することなく、フォームファイルを用いた情報処理装置からの好ましくない投稿処理に有効に対処する。
【解決手段】 クライアントシステムからフォームファイルの取得要求を受け付けた場合、変換モジュールが要求されているフォームファイルに含まれる変数名情報をオリジナルとは異なる変数名情報に変換する(S405)。そして、変数名情報が変換されたフォームファイルを要求元のクライアントシステムに送信する(411)。そして、クライアントシステムから返信されるフォームファイルの変数名情報と保持される変換済み変数名情報とが一致する場合に、オリジナルの変数名情報に書き戻す。
【解決手段】 クライアントシステムからフォームファイルの取得要求を受け付けた場合、変換モジュールが要求されているフォームファイルに含まれる変数名情報をオリジナルとは異なる変数名情報に変換する(S405)。そして、変数名情報が変換されたフォームファイルを要求元のクライアントシステムに送信する(411)。そして、クライアントシステムから返信されるフォームファイルの変数名情報と保持される変換済み変数名情報とが一致する場合に、オリジナルの変数名情報に書き戻す。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置が返信するフォームファイルに対する要求を処理するサーバ装置に関する。
【背景技術】
【0002】
近年、企業が行う情報を発信したり、情報を取得したりする処理においては、ホームページが利用されることが多くなってきている。このようなホームページを通しての情報発信、それに対するホームページからの情報取得は現在の企業業務上重要である。
このようなニーズに対して、近年、ホームページの入力フォームに対し連続的にサービスの妨害を意図した投稿を行うDenial of Service(DoS)攻撃が大幅に増大してきており、ホームページの運用業務に大きな支障をきたしている。
【0003】
このような状況への対応技術として、同様な入力フォーム機能である掲示板システムに対して下記特許文献1が開示されている。
この特許文献1では、例えば、掲示板に対する投稿を監視する監視サーバを設け、不正な文字列の投稿を監視することでスパム投稿を防止する電子掲示板監視システムがある。監視サーバは予め掲載不許可用語を定義・登録し、その用語とのマッチングにより不正投稿をチェックする。ここで、スパム(SPAM)投稿とは、公開されているWebの入力(例えばアンケートや資料請求など)サイトに対して、不正な文字列を多量に書き込むなどすることにより、そのサイトのサービス維持を妨害することを目的とした投稿を指し、その実行者や実行ツールをスパマーと言う。
【0004】
また、フォーム取得(GETメソッド)時のURI中に識別子を設けることでスパム投稿を防止する、掲示板システムおよびその不正投稿防止方法などがある。例えば下記特許文献2には、不正投稿防止方法として識別子と投稿(POSTメソッド)された情報に当該識別子があるか、または、フォーム取得から所定の時間を経過していないかをチェックし、条件に一致しない場合に投稿を拒否することが開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−334458号公報
【特許文献2】特開2007−272574号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述のように、特許文献1では、投稿内容について適切な内容かどうかの判断処理を入れることで、不正な投稿を排除している。よって、特許文献1の方法では投稿内容に問題があれば効果があるが、不正な用語を含まず連続投稿自体が問題となるDoS攻撃には効果がない。
また、特許文献2では、投稿するクライアントが異なる場合や、フォーム取得から投稿までに特定の時間が空いている場合に投稿拒絶する。よって、特許文献2では、フォームの取得→投稿を繰り返す攻撃には効果がない。また、特定識別子をハイジャックされることで効果が減少してしまう場合もあった。
【0007】
また、特許文献1、2はいずれも掲示板などのフォーム構成情報が予め定められたWebフォームファイルに対する対策である。このため、対象としている顧客ごとに多種多様なWebフォームファイルに対応する必要があるフォームメール機能に対して適用することは難しかった。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、システム構成を大幅に変更することなく、フォームファイルを用いた情報処理装置からの好ましくない投稿処理に有効に対処できる仕組みを提供することである。
【課題を解決するための手段】
【0008】
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
情報処理装置からのフォームファイルの要求に従い管理されるフォームファイルを情報処理装置に送信し、前記情報処理装置が返信するフォームファイルに対する要求を処理するサーバ装置であって、前記フォームファイルに含まれるオリジナルの変数名情報を抽出する抽出手段と、前記情報処理装置から同一のフォームファイルが要求される毎に、前記抽出手段が抽出したオリジナルの変数名情報を異なる変数名情報に変換する変換手段と、前記変換手段により変数名情報が変換されたフォームファイルを要求元の前記情報処理装置に送信する送信手段とを備えることを特徴とする。
【発明の効果】
【0009】
本発明によれば、システム構成を大幅に変更することなく、フォームファイルを用いた情報処理装置からの好ましくない投稿処理に有効に対処できる。
【図面の簡単な説明】
【0010】
【図1】本実施形態を示すデータ処理システムの一例を示す図である。
【図2】変換サーバの構成を説明するブロック図である。
【図3】情報処理システムのデータ処理手順を示すフローチャートである。
【図4】サーバ装置のデータ処理手順を示すフローチャートである。
【図5】Webフォームファイルの構造を説明する図である。
【図6】サーバ装置のデータ処理手順の一例を示すフローチャートである。
【図7】情報処理システムの投稿処理の流れを説明するブロック図である。
【図8】情報処理システムの投稿受信処理の流れを説明するブロック図である。
【図9】情報処理システムのデータ処理手順を示すフローチャートである。
【図10】サーバ装置のデータ処理手順の一例を示すフローチャートである。
【図11】サーバ装置のデータ処理手順の一例を示すフローチャートである。
【図12】情報処理システムの投稿受信処理を説明するブロック図である。
【図13】情報処理システムで扱うフォームファイルの一例を示す図である。
【図14】変換変数セット格納に格納される情報のデータ構造を示す図である。
【発明を実施するための形態】
【0011】
次に本発明を実施するための最良の形態について図面を参照して説明する。
〔第1実施形態〕
図1は、本実施形態を示すデータ処理システムの一例を示す図である。本例は、サーバ装置がインターネットを介して情報処理装置のWebブラウザからの要求に従いフォームファイルの処理を行うためのCGIプログラムを備える。そして、本サーバ装置は、後述するISPシステムを構築するプロバイダが提供するサーバ装置上のホームページ領域に別途、企業の担当者または個人が登録したホームページに設定されたフォームファイルの処理を実行するシステム例である。ここで、CGIとは、Common Gateway Interfaceの略である。以下、データ処理システムにおけるフォームファイルの投稿処理に関わるフォーム処理について詳述する。
【0012】
図1において、101はスパム解析処理を実行するスパマー解析サイトで、ISP(Internet Service Provider)システム104が提供するターゲットのWebフォームファイルにアクセスする。そして、スパマー解析サイト101は、スパマー解析ツール101aを備えて、フォーム情報取得、解析、情報管理および、スパマー投稿ツール102aへの解析情報の提供を行う。
ここで、スパマー投稿ツールとは、例えばクローラ(Crawler)が用いられ、ウェブ上の文書や画像などを周期的に取得し、自動的にデータベース化するプログラム(モジュール)である。なお、「スパイダー」や「ロボット」などとも呼ばれる場合がある。
【0013】
102はスパマー投稿サイトで、スパマー投稿ツール102aを備えて、スパマー解析サイト101から取得したフォーム解析情報に基づき、ターゲットホームページのWebサーバに対してスパム投稿を行う。
なお、スパマー解析サイト101、スパマー投稿サイト102は、CPU、ROM、RAMを含むコンピュータシステムを備えて構成されている。そして、スパマー解析サイト101、スパマー投稿サイト102は、インターネット109を通じて後述するISPシステム104と所定のプロトコルで通信可能に構成されている。また、スパマー解析サイト101、スパマー投稿サイト102を1つのコンピュータシステムで構築することも可能である。
【0014】
なお、スパマー投稿サイト102は、スパマー解析サイト101で解析された変数名情報を利用してWebサーバ105に投稿する処理を行う。この際、スパマー投稿サイト102が毎回Webサーバ105からWebフォームファイルを要求して取得した後、取得したWebフォームファイルを用いて投稿情報をWebサーバ105に投稿するシステムについては第1実施形態で説明する。
また、投稿処理の際、スパマー投稿サイト102が投稿処理時に、その都度Webフォームファイルをダウンロードせずに、直接投稿(POST)するシステムについては、第2実施形態で詳述する。
【0015】
103はターゲットとなるホームページの管理者が操作するクライアントシステムで、Webフォームファイル宛に投稿された情報をWeb画面、メールによって取得するための、Webブラウザソフト、またはメールクライアントソフトを備えている。なお、クライアントシステム103は、後述するコンピュータシステムを備え、インターネット109を介して、ISPシステム104へアクセス可能に構成されている。
【0016】
ISPシステム104は、Webサーバ105、変換サーバ106、DBサーバ107を備える。なお、Webサーバ105、変換サーバ106、DBサーバ107を1つのコンピュータシステムで構築することも可能である。
Webサーバ105は、ターゲットのホームページ表示およびWebフォーム機能を有するWebサーバプログラム105aと、Webフォームファイルに表示されるコンテンツファイルを格納するホームページファイル格納領域105bを備える。また、ホームページファイル格納領域105bは、Webフォームファイルに変換される前のホームページ管理者が用意するHTML形式のフォームファイル105cを複数格納する。
【0017】
106は変換サーバであり、変数名情報の抽出、変換、格納管理処理および、Webサーバ105、DBサーバ107との間で情報通信を行う変換モジュール106aを備えている。107はデータベースサーバ(DBサーバ)で、データベース管理ソフトを備えている。また、DBサーバ107は、変換モジュール106aが抽出したHTMLのフォームファイルのオリジナル変数名情報と変換処理を行った後の変換変数名情報の組合せ情報を管理するための変換変数セット格納DB107aを備えている。なお、変換モジュール106aは、オリジナルの変数名情報を、後述する図5に示すようなランダムの変数名情報に変換する機能を備えている。
また、107bは投稿クライアントから入力された情報を、ホームページ管理者に対してWeb通知するための情報を格納する表示データベース(表示データDB)である。108−1〜108−3はWebフォームファイルであり、Webサーバ105がHTML形式のフォームファイル105cを元にWebアクセス可能に変換したWebフォームファイルである。
なお、本例では、スパマー解析サイト101とやり取りされるWebフォームファイルをWebフォームファイル108−1と記している。同様に、スパマー投稿サイト102とやり取りされるWebフォームファイルをWebフォームファイル108−2と記している。さらに、クライアントシステム110とやり取りされるWebフォームファイルをWebフォームファイル108−3と記している。
【0018】
109はインターネット環境であり、当該図における101、102、103、104、110のシステムがインターネット経由で接続されている。
110は正常投稿者が操作するクライアントシステムであり、ターゲットホームページに対してWebブラウザによるWebフォームファイル108−3の取得と、取得したWebフォームファイル108−3を用いてWebサーバ105に対して正常な投稿処理を行う。なお、クライアントシステム103、110は、図2に示すハードウエア資源と、OSを含むソフトウエア資源を備えて構成されている。
【0019】
図2は、図1に示したISPシステム104を構成する変換サーバ106のハードウエア構成を説明するブロック図である。なお、図1に示すISPシステム104を構成するその他のサーバ(Webサーバ105、DBサーバ107)も同等のハードウエア構成を備えている。さらに、図1に示したクライアントシステム103、110のハードウエアも同等のハードウエア構成を備える。
また、図2に示されるハードウエア構成は一般的な情報処理装置のハードウエア構成に相当するものとし、本実施形態の各サーバにはこの一般的な情報処理装置のハードウエア構成を適用できるものとする。
【0020】
図2において、CPU201は、ROM203に格納、或いはハードディスク206からRAM202にロードされたOS(オペレーティングシステム)やアプリケーション等のプログラムを実行する。
なお、図1に示した変換モジュール106aは変換サーバ106上で動作するプログラムであり、ハードディスク206からRAM202にロードされてCPU201によって実行される。本実施形態に対応する各フローチャートに示す処理も上記プログラムの実行により実現される。
【0021】
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。ネットワークインタフェース204はISPシステム104内においてネットワークに接続された他のサーバ(Webサーバ105、DBサーバ107)との通信制御処理を実行する。
ディスクコントローラ205は、各種処理において生成されるデータのハードディスク206におけるデータアクセスを制御する。ディスプレイコントローラ207は、接続される各種ディスプレイ208の表示を制御する。入力デバイスコントローラ209は、キーボード210およびマウス211からのキー入力および操作を制御する。
以下、スパマー解析サイト101がターゲットとなるホームページのWebフォームファイルを取得して解析した結果をスパマー投稿サイト102が利用して行うスパマー投稿処理を説明する。
【0022】
図3は、本実施形態を示す情報処理システムにおけるデータ処理手順の一例を示すフローチャートである。本例は、ISPシステム104とスパマー解析サイト101、スパマー投稿サイト102との間で発生する処理例である。
また、(A)はISPシステム104側の処理に対応し、(B)はスパマー解析サイト101側の処理に対応し、(C)はスパマー投稿サイト102側の処理に対応する。なお、S301〜S303、S311〜S313、S321〜S325は各ステップを示す。また、S301〜S303はISPシステム104を構成するサーバ装置のCPU201がRAM202に制御プログラムをロードして実行することで実現される。
また、S311〜S313は、スパマー解析サイト101側のコンピュータシステムがスパマー解析ツール(プログラム)101aを実行することで実現される。さらに、S321〜S325はスパマー投稿サイト102側のコンピュータシステムがスパマー投稿ツール(プログラム)102aを実行することで実現される。
【0023】
まず、Webサーバ105がターゲットとなるホームページのWebフォームファイル(Webフォーム情報)に対するスパマー解析ツール101aからのアクセスを受信する。そして、S301で、Webサーバ105は、ホームページファイル格納領域105bから検索したHTML形式のフォームファイル105cから生成したWebフォームファイル108−1をスパマー解析ツール101aに送信する。
そして、S302において、Webサーバ105は、スパマー投稿ツール102aからのリクエストに基づき、投稿処理に必要なWebフォームファイル108−2を再度スパマー投稿ツール102aに送信する。このWebフォームファイルの再送信処理については、S301と同一であり、後述する図4に示すフローチャートに従って詳述する。
【0024】
そして、S303で、ISPシステム104は、スパマー投稿ツール102aからターゲットとなるWebフォームファイル108−1に対するスパム投稿の受信処理を行う。
なお、Webサーバ105に対するこのスパム投稿受信処理に関する詳細フローは、図6において詳細に説明する。
【0025】
図3の(B)に示すS311において、スパマー解析ツール101aは、S301によりWebサーバ105からWebフォームファイル108−1を受信したら、Webフォームファイル108−1を解析してS312へ進む。そして、S312で、スパマー解析ツール101aは、受信したWebフォームファイル108−1からスパマー投稿ツール102aが投稿処理を行うのに必要な変数名情報を取得しメモリ装置に保持する。
そして、S313で、スパマー投稿ツール102aからの要求に従い、Webフォームファイル108−1から解析して保持している変数名情報をスパマー投稿ツール102aに送信して、本処理を終了する。
【0026】
図3の(C)に示すS321において、スパマー投稿ツール102aは、スパマー解析ツール101aから変数名情報を受信したら、S322で、受信した変数名情報をメモリ装置に保持する。次に、S323で、スパマー投稿ツール102aは、ISPシステム104に対して、Webフォームファイル108−2を取得するための要求を行う。そして、S324で、スパマー投稿ツール102aがISPシステム104のWebサーバ105からWebフォームファイル108−2を受信したら、S325へ進む。
そして、S325で、スパマー投稿ツール102aは、Webサーバ105から受信したWebフォームファイル108−2と、スパマー解析ツール101aから受信した変数名情報とを用いてスパム投稿をISPシステム104に送信して、本処理を終了する。
【0027】
図4は、本実施形態を示すサーバ装置におけるデータ処理手順の一例を示すフローチャートである。本例は、ISPシステム104において行われる、ターゲットとなるホームページに対するWebフォームリクエストを受信してからWebフォームファイルの送信処理までが含まれる。なお、S401〜S411は各ステップを示す。また、各ステップは、ISPシステム104の各サーバ装置のCPU201がRAM202に制御プログラムをロードして実行することで実現される。
【0028】
まず、S401で、Webサーバ105は、スパマー解析ツール101aからターゲットとなるホームページのWebフォームファイル108−1を取得するためのリクエストを受信する。または、Webサーバ105は、正常投稿者のクライアントシステム110からターゲットとなるホームページのWebフォームファイル108−3を取得するためのリクエストを受信する。
次に、S402で、Webサーバ105は、スパマー解析ツール101aまたは正常投稿者のクライアントシステム110から受信したリクエスト情報を変換サーバ106上の変換モジュール106aに転送する。なお、受信したリクエスト情報は、Webサーバ105上にも保持される。ここで、転送されるリクエスト情報にはターゲットとなるホームページのURL情報、Webフォームファイルの変数名情報が含まれる。さらに、転送されるリクエスト情報にはアクセス元のスパマー解析ツール101aまたは正常な投稿者のクライアントシステム110に設定されているIP情報、アクセスされた時間情報等が含まれる。
次に、S403で、変換サーバ106の変換モジュール106aは、Webサーバ105から転送されたリクエスト情報を取得し全ての情報をDBサーバ107の変換変数セット格納DB107aに格納する。そして、S404で、変換サーバ106の変換モジュール106aは、受け取ったリクエスト情報に基づき、ターゲットとなるホームページのHTMLのフォームファイル105cをWebサーバ105上のホームページファイル格納領域105bから取得する。
【0029】
次に、S405で、変換サーバ106の変換モジュール106aは、ホームページファイル格納領域105bから取得したHTMLのフォームファイルから全てのオリジナルの変数名情報と表示名情報を抽出する。さらに、変換サーバ106の変換モジュール106aは抽出したオリジナルの変数名情報を変換変数セット格納DB107aに格納する。
ここで、オリジナルの変数名情報は、図5に示すような特定のルールに則って記述されており、そのルールに合致する文字列を抽出する。ここで、変換変数セット格納DB107aに格納された情報は、変換変数セット格納DB107a上では格納時に割振られたユニークな管理IDにより管理される。
【0030】
図5は、図1に示したWebサーバ105が提供するHTML形式のフォームファイル105cの構造を説明する図である。本例に示すWebフォームファイルは、図4に示すS404において取得されるオリジナルのHTMLのフォームファイルおよびその中に含まれるフォーム構造情報と、抽出される変数名情報と表示名の例を示している。
図5において、1201は、図1に示したホームページファイル格納領域105bに格納されているHTMLのフォームファイル105cの例である。1202はHTMLのフォームファイルと連携してWebフォームファイル機能を提供するCGIプログラムのパスである。
1203はHTMLのフォームファイルの保有ユーザおよびホームページのURLを指定するドメイン名である。1204は該HTMLのフォームファイル1201によって生成されるWebフォームファイルのファイル名である。
【0031】
1205は、該HTMLのフォームファイル1201に記載されている変数名情報である。本例では、変数名情報1205が「name」と、「kana」の場合を示す。
1206は、該HTMLのフォームファイル1201から抽出されるオリジナルの変数名情報とそれに紐づく表示文字との対応を示している。
1207は、該HTMLのフォームファイル1201から抽出されるオリジナルの変数名情報を変換モジュール106aが変換した変換後の変数名情報とそれに紐づく表示文字との対応を示している。
【0032】
以下、続けて図4に示すS406以降のステップの処理を説明する。
変換モジュール106aは、S406で、抽出した変数名情報と、対象となったURL情報と、アクセス時間を特定の変換ルール、例えばハッシュ関数などを用いて変換処理を実行し、新たな変数名情報を生成する。なお、変換ルールは本実施形態に記載の方法に特定されるものではない。
そして、S407で、変換サーバ106の変換モジュール106aは、生成した変換変数名情報と変換変数セット格納DB107aに格納されている同じURL名向けに生成され格納されている変数名情報とを比較する。ここで、比較した結果、変換変数セット格納DB107aに格納されている変数名情報と生成された変数名情報とが同一の構成であると変換モジュール106aが判断した場合は、再度S406へ戻り、変数名情報を生成する処理を実行する。
【0033】
一方、S407において比較した結果、変換変数セット格納DB107aに格納されている変数名情報と生成された変数名情報とが異なると変換モジュール106aが判断した場合は、S408へ進む。
そして、S408で、変換モジュール106aは、DBサーバ107の変換変数セット格納DB107aの、変換前のオリジナルの変数名情報に該当する管理IDのレコードに、変換後の変数名情報を対応付けて格納する。そして、変換モジュール106aは変換前のオリジナルの変数名情報と変換後の変数名情報の組合せを変換済みの変数名情報のセットとして変換変数セット格納DB107a上で管理する。
次に、S409において、変換サーバ106の変換モジュール106aは、HTMLのフォームファイルにおいてオリジナルの変数名情報を、S406において生成して変換変数セット格納DB107aに格納した変換済みの変数名情報に全て書き換える。なお、変数名情報の書き換え処理は、後述する図13の記載例のように書き換えられる。
【0034】
次に、S410で、変換サーバ106の変換モジュール106aは、S409において変数名情報が書き換わったHTMLのフォームファイルをWebサーバ105に対して受け渡す。そして、S411で、Webサーバ105のWebサーバプログラム105aは、書き換わったHTMLのフォームファイルを元に実際にブラウザが閲覧するWebフォームファイル108−1を生成する。そして、Webサーバ105のWebサーバプログラム105aは、生成したWebフォームファイル108−1をリクエスト元(要求元)のスパマー解析ツール101aに送信して、処理を終了する。
なお、正常な投稿者の場合、Webサーバ105のWebサーバプログラム105aは、クライアントシステム110のWebブラウザに対して生成したWebフォームファイル108−3を送信する。
【0035】
図6は、本実施形態を示すサーバ装置におけるデータ処理手順の一例を示すフローチャートである。本例は、ISPシステム104が図3に示したS325において行うスパム投稿(POST)への受信対応処理を含む処理例である。なお、S501〜S507は各ステップを示す。また、各ステップは、ISPシステム104の各サーバのCPU201がRAM202に制御プログラムをロードして実行することで実現される。
【0036】
S501で、Webサーバ105が、スパマー投稿サイト102のスパマー投稿ツール102aまたは正常投稿者のクライアントシステム110のWebブラウザからの投稿(POST)を受信し、投稿情報を受け取る。この時、Webサーバ105が受信する投稿の宛先は、図3に示したS302(または)S323においてダウンロードしたターゲットとなるホームページに対するものである。なお、本フローチャート上には図示していないが、スパマー投稿ツール102aが図3に示したS322において、スパマー解析ツール101aから取得したフォーム構造と、同じくS323において投稿用に新たにWebサーバ105から取得したフォーム構造は常に異なる。
このため、スパマー投稿ツール102aは図6に示すS501に示す、Webサーバ105が投稿情報を受信する処理を実行できずに、スパマー投稿ツール102aは単独で投稿処理を自ら失敗して、投稿処理を断念することになる。
【0037】
次に、S502において、Webサーバ105は変換サーバ106の変換モジュール106aに対しインターネット109を介して受信した投稿情報を転送する。ここで、投稿情報には、クライアントシステム110から受信したWebフォームファイル108−3のURL情報、変数名情報、変数名情報が含まれる。
次に、S503において、変換サーバ106の変換モジュール106aはWebサーバ105から転送された投稿情報から、投稿時のURL、変数名情報を抽出する。さらに、変換サーバ106の変換モジュール106aはWebサーバ105から抽出したURL情報の対象となる変数名情報の構成と一致する変換済みの変数名情報のセットをDBサーバ107から検索し、抽出する。
【0038】
そして、S504において、変換サーバ106の変換モジュール106aは、S501で取得済の投稿情報に含まれる変換済みの変数名情報に対して、DBサーバ107から抽出した変換前のオリジナルの変数名情報への書換え処理を行う。
次に、S505において、変換サーバ106の変換モジュール106aは、S504で書換え処理を行った投稿情報をWebサーバ105に対して転送する。そして、S506において、Webサーバ105のWebサーバプログラム105aは、変換サーバ106の変換モジュール106aから転送された投稿情報に基づき、投稿情報のWeb通知画面を表示するための画面データを生成し、表示データDB107bに格納する。
そして、S507において、Webサーバ105のWebサーバプログラム105aは、変換サーバ106の変換モジュール106aから転送された投稿情報に基づき、投稿情報のメール通知用データを生成し、生成されたメールデータを不図示のメールサーバ宛に転送して、本処理を終了する。
【0039】
図7は、本実施形態を示す情報処理システムにおけるWebフォームファイルを用いた投稿処理の流れを説明するブロック図である。以下、スパマー解析サイト101からの第1のWebフォームファイル906のリクエスト901に基づく、スパマー投稿サイト102によるスパム投稿処理の流れを説明する。
図7において、101aはスパマー解析ツールで、インターネット109を経由してターゲットホームページを保有するISPシステム104のWebサーバ105に解析用のWebフォームファイルのリクエスト901を送信する。
【0040】
105aはWebサーバプログラムで、スパマー解析ツール101aからWebフォームファイルに対するリクエスト901を受信し、それを変換サーバ106の変換モジュール106aにリクエスト902として転送する。
変換モジュール106aはWebサーバプログラム105aから転送されたリクエスト902に該当するHTMLのフォームファイル903を、ホームページファイル格納領域105bのフォームファイル105cの中から取得する。
そして、変換サーバ106の変換モジュール106aは、取得したHTMLのフォームファイル903から変数名情報を抽出する。さらに、変換モジュール106aはこの抽出したオリジナルの変数名情報に基づき変換変数名情報を生成し、変換した変換済みの変数名情報で取得したフォームファイル(HTML)のオリジナルの変数名情報を書換える。
【0041】
そして、変換サーバ106の変換モジュール106aは、書換えた変換済みの変数名情報とオリジナルの変数名情報のセット904を変換変数セット格納DB107aに格納し、変換済のHTMLのフォームファイル905をWebサーバプログラム105aに転送する。
そして、Webサーバプログラム105aは受け取った変換済のHTMLのフォームファイル905に基づき第1のWebフォームファイル906を生成し、スパマー解析ツール101aに転送する。
一方、スパマー解析ツール101aは、Webサーバプログラム105aから受け取った第1のWebフォームファイル906の情報を解析し、Webフォームファイルに対して自動で投稿するために必要な変数名情報などの構成情報を抽出する。
【0042】
次に、スパマー解析ツール101aは抽出したフォーム構成情報907を、実際に投稿処理を行うスパマー投稿サイト102に対して、インターネット109等を介して提供する。
スパマー投稿ツール102aは、スパマー解析ツール101aから提供されたフォーム構成情報907を取得し、スパマー投稿ツール102aはスパマー投稿サイト102のメモリ装置内に格納する。このようにしてスパマー解析ツール101aからフォーム構成情報907を獲得したスパマー投稿ツール102aは、ターゲットとなるホームページから投稿処理のために、再度第2のWebフォームファイル908をWebサーバ105からインターネット109を介して取得する。
なお、今回Webサーバ105から取得した第2のWebフォームファイル908は、スパマー解析ツール101aが解析時に受け取った第1のWebフォームファイル906に基づくフォーム構成情報907とは変数名情報の構成が異なるWebフォームファイルとなる。
【0043】
スパマー投稿ツール102aは、ターゲットとなるホームページから取得した第2のWebフォームファイル908に対して、格納済のフォーム構成情報907に基づいたフォーム投稿処理(POST)を行う。この場合、スパマー投稿ツール102aが投稿するWebフォームファイルのフォーム構成情報907が第2のWebフォームファイル908と一致しない投稿となるため、スパマー投稿処理はエラーとなって、自ら処理を終了する。
なお、スパマー投稿ツール102aが再度、第3のWebフォームファイル908を取得した場合は、第1、第2のWebフォームファイルのいずれとも異なる第3のフォーム構成情報となるため、連続した投稿は一切成功しないことになる。これにより、ISPシステム104は、スパマー投稿サイト102のスパマー投稿ツール102aによるスパム攻撃を有効にブロックすることができる。
【0044】
図8は、本実施形態を示す情報処理システムにおけるWebフォームファイルを用いた投稿受信処理の流れを説明するブロック図である。以下、正常投稿者がクライアントシステム110を用いた投稿処理を説明する。
【0045】
図8において、正常投稿者のクライアントシステム110よりターゲットとなるホームページから投稿用の第1のWebフォームファイルに対するリクエスト1001をWebサーバ105に対しインターネット109を介して行う。Webサーバ105のWebサーバプログラム105aは、図7における説明の通りの処理を行い、第1のWebフォームファイル1002を生成し正常投稿者のクライアントシステム110に転送する。
クライアントシステム110の正常投稿者は、Webサーバ105から取得した第1のWebフォームファイル1002の構成情報に基づき投稿情報1003を入力し、Webサーバ105のWebサーバプログラム105aに転送する。
【0046】
Webサーバプログラム105aは、クライアントシステム110から取得した投稿情報1003を変換モジュール106aに転送する。そして、変換モジュール106aは、Webサーバプログラム105aから受信した第1のWebフォームファイル1002の投稿情報1003を保持し、その変数構成と一致する変換変数セットをDBサーバ107から抽出する。さらに、変換モジュール106aは、対象の変換変数セットのオリジナル変数1004をDBサーバ107から抽出する。
さらに、変換サーバ106の変換モジュール106aは、投稿情報1003から抽出したオリジナル変数で書き換えた投稿情報1005を生成してWebサーバプログラム105aに返信する。Webサーバプログラム105aは該投稿情報1005を表示データDB107bに格納すると同時に、不図示のメールサーバに対して転送し処理を終了する。
【0047】
これにより、正常な投稿者のクライアントシステム110からの投稿情報は、正常に表示できるオリジナルの投稿情報に書き戻されて管理される。
本実施形態によれば、Webサーバは、リクエストされた先にWebフォームファイルを転送する時にその都度、変数名情報を変換する。したがって、スパマー解析ツール101aが事前に取得したWebフォームファイルの変数名情報と、スパマー投稿ツール102aが投稿処理時に取得するWebフォームファイルの変数名情報とが適合しないようにできる。
これにより、スパマー投稿ツールの処理エラーを自発的に発生させることでWebフォームファイルに対する連続投稿を未然に防ぐことが可能となる。
また、本実施形態によれば、Webフォームファイルの構造を変更することがないため、既存のISPシステムに容易に導入することができる。
さらに、本実施形態によれば、ホームページに訪問した訪問者側のブラウザには、変数名情報に対する表示名、例えば名前、メールアドレス等の表示は一切変更されないため、ISPシステムが提供するサービスへの影響が少ない。
【0048】
〔第2実施形態〕
本実施形態は、スパマー解析サイト101がWebフォームファイル108−1の取得と解析を行った後、投稿処理時にその都度Webフォームファイルをダウンロードせずに、スパマー投稿ツール102aが直接投稿(POST)処理を行う場合の実施形態である。
第1実施形態では投稿前にS323において再度フォーム取得を行う構成であった。これに対し、第2実施形態では、S622(後述する図9)において、スパマー投稿ツール102aがターゲットの変数名情報を取得した後、再度フォーム取得をせず、S623で投稿処理を行う点が大きな差異である。
【0049】
図9は、本実施形態を示す情報処理システムにおけるデータ処理手順の一例を示すフローチャートである。本例は、ISPシステム104とスパマー解析サイト101、スパマー投稿サイト102間で発生する処理例である。また、(A)はISPシステム104側の処理に対応し、(B)はスパマー解析サイト101側の処理に対応し、(C)はスパマー投稿サイト102側の処理に対応する。なお、S601、S602、S611〜S613、S621〜S623は各ステップを示す。
【0050】
また、S601、S602はISPシステム104の各サーバ装置のCPU201がRAM202に制御プログラムをロードして実行することで実現される。また、S611〜S613は、スパマー解析サイト101側のコンピュータシステムのCPUが実行することで実現される。さらに、S621〜S623はスパマー投稿サイト102側のコンピュータシステムのCPUが実行することで実現される。
なお、本実施形態を示す情報処理システムであるISPシステムの処理フローについては、図4、図7を用いて説明する。ただし、図4については第1実施形態における図4のフローと同一であるため、ここでは記述を省略する。
S601において、ISPシステム104のWebサーバ105がターゲットとなるWebフォームファイルに対するスパマー解析ツール101aからのリクエスト901を受信する。そして、Webサーバ105がターゲットとなるWebフォームファイルをリクエストされているスパマー解析ツール101aに送信する。このWebフォームファイルへのリクエスト901とWebフォームファイルの送信処理に関する詳細フローは、図4の通りである。
【0051】
S611で、スパマー解析サイト101のスパマー解析ツール101aは、ISPシステム104からWebフォームファイル906を取得したら、S612へ進む。そして、S612において、スパマー解析ツール101aは、取得したWebフォームファイル906の情報を解析し、スパマー投稿ツール102aが投稿処理を行うのに必要な変数名情報を、当該Webフォームファイルのデータから取得し保持する。
【0052】
次に、S613において、スパマー解析ツール101aは、解析した変数名情報を実際の投稿処理を行うスパマー投稿ツール102aに対しインターネット109等を介して送信する。スパマー投稿ツール102aは、S621において、投稿に必要な変数名情報をスパマー解析ツール101aから取得する。そして、S622において、スパマー解析ツール101aから取得した変数名情報を保持する。そして、S623において、スパマー投稿ツール102aは、新たに投稿用WebフォームファイルをWebサーバ105からダウンロードせずに、直接スパム投稿をISPシステム104に送信して、本処理を終了する。
一方、S602において、ISPシステム104は、スパマー投稿ツール102aからターゲットとなるWebフォームファイルに対するスパム投稿の受信処理を行う。以下、スパム投稿受信処理を、図10を用いて詳細に説明する。なお、スパマー投稿ツール102aは上記S623における投稿処理を繰り返すものとする。
【0053】
図10は、本実施形態を示すサーバ装置におけるデータ処理手順の一例を示すフローチャートである。本例は、ISPシステム104が図9の(A)に示したS602において行うスパム投稿(POST)への受信対応処理例である。なお、S701〜S710は各ステップを示す。また、各ステップは、ISPシステム104の各サーバのCPU201がRAM202に制御プログラムをロードして実行することで実現される。ここで、制御プログラムとは、Webサーバプログラム105a、変換モジュール106aが含まれる。
まず、S701で、Webサーバ105が、スパマー投稿ツール102aからの投稿(POST)を受信し、投稿情報を受け取る。又は、正常なクライアントシステム110からの投稿情報を受け取る。この時、Webサーバ105がスパマー投稿ツール102aから受信する投稿の宛先は、図9の(B)に示したS613においてスパマー投稿ツール102aがスパマー解析サイトから情報を取得した、ターゲットホームページに対するものである。
【0054】
次に、S702で、Webサーバ105は、変換サーバ106の変換モジュール106aに対し受信した投稿情報を転送する。ここで、転送される投稿情報には、WebフォームファイルのURL情報、変数名情報、変数名情報ごとの入力情報が含まれる。次に、S703で、変換モジュール106aは、Webサーバ105から転送された投稿情報から、投稿時変数名情報を抽出し、DBサーバ107の変換変数セット格納DB107aに格納されている変換変数セットとを比較する。
【0055】
そして、変換モジュール106aは、投稿時変数名情報と変換変数セットとを比較して、変換変数セットと一致しない投稿時変数名情報であるかどうかを判断する。ここで、変換変数セットと一致しない投稿時変数名情報であると変換モジュール106aが判断した場合は、S704の処理に進み、投稿時変数名情報が一致していると変換モジュール106aが判断した場合はS706以降の処理に進む。
そして、S704において、変換モジュール106aは、Webサーバ105に対して該変数名情報が変換済みの変数名情報のセットと一致していない旨の情報をWebサーバ105に通知する。そして、S705において、変換モジュール106aから通知を受け取ったWebサーバ105のWebサーバプログラム105aは、変換変数セットに該当するWebアクセスを切断し、スパマー投稿サイト102から受信済の投稿情報を廃棄し、本処理を終了する。
【0056】
また、S706へ進んだ場合は、変換モジュール106aは変数名情報のセットが一致した投稿に関して、S702で取得済の投稿情報に含まれる変換後の変数名情報を、変換変数セット格納DB107a上に格納されている変換前の変数名情報への書き換える処理を行う。
次に、S707において、変換モジュール106aは、S706において使用した変数名情報のセットを変換変数セット格納DB107a上から削除する。そして、S708において、変換モジュール106aは、S706で書換え処理を行った投稿情報をWebサーバ105に対して転送する。
【0057】
次に、S709において、Webサーバ105のWebサーバプログラム105aは、変換モジュール106aから転送された投稿情報に基づき、投稿情報のWeb通知画面を表示するための表示データを生成し、表示データDB107bに格納する。そして、S710において、Webサーバ105は、変換モジュール106aから転送された投稿情報に基づき、投稿情報のメール通知用データを生成し、生成されたメールデータを不図示のメールサーバ宛に転送し、本処理を終了する。
【0058】
図11は、本実施形態を示すサーバ装置におけるデータ処理手順の一例を示すフローチャートである。本例は、S408において、変換変数セット格納DB107aに格納された変換変数セットの自動削除処理例である。なお、S801〜S803は各ステップを示す。また、各ステップは、ISPシステム104の変換サーバ106のCPU201がRAM202に制御プログラムをロードして実行することで実現される。
まず、S801において、変換モジュール106aは、変換変数セット格納DB107a上から格納されている変換変数セットの生成日時情報を抽出する。次に、S802において、変換モジュール106aは、抽出した生成日時が既定の制限時間を超えているかどうかチェックする。ここで、制限時間を経過していると変換モジュール106aが判断した場合は、S803へ進み、越えていないと変換モジュール106aが判断した場合は、S801の処理を繰り返す。なお、本実施形態において、既定の制限時間は別途システムパラメータとして設定される。ここで、制限時間は、変換された変数名情報とオリジナルの変数名情報とを保持しておくべき保持期間に対応する。
そして、S803において、変換モジュール106aは、制限時間を超えていた対象変換変数セットを変換変数セット格納DB107aから削除し、その処理を終了する。
【0059】
図12は、本実施形態を示す情報処理システムにおけるWebフォームファイルを用いた投稿受信処理の流れを説明するブロック図である。
なお、スパマー解析サイト101におけるWebフォームファイル取得からフォーム構造情報の投稿サイトへの提供までの処理は、図7に示したシステムにおける処理と同様であるので説明は省略する。
図12において、スパマー投稿ツール102aは、スパマー解析サイト101から提供されたフォーム構成情報を取得し、スパマー投稿サイト102内に格納する。スパマー解析サイト101からフォーム構成情報を取得したスパマー投稿ツール102aは、ターゲットとなるホームページに対して、格納済のフォーム構成情報907に基づいたフォーム投稿処理(POST)を連続的に行う。
【0060】
この場合、Webサーバ105からフォームファイルを新たに取得しないため、フォームファイルの構成情報が一致し、最初のスパム投稿1101は成功することとなり、投稿された投稿情報1102はWebサーバ105に転送される。
そして、Webサーバプログラム105aは取得した投稿情報1102を変換モジュール106aに転送する。変換モジュール106aは、受信した投稿情報1102を保持し、その変数構成と一致する変換変数セット1103のDBサーバ107からの抽出処理を行う。
【0061】
その際、変換モジュール106aは変換変数セットが一致した事を確認した時点で、抽出した変換変数セット1103をDBサーバ107の変換変数セット格納DB107a上から削除する。また、変換モジュール106aは、DBサーバ107の変換変数セット格納DB107aから抽出した変換変数セット1103からさらにオリジナル変数を抽出する。
そして、変換モジュール106aは、DBサーバ107の変換変数セット格納DB107aから抽出したオリジナル変数で投稿情報の変数名情報を書換えた投稿情報1104をWebサーバプログラム105aに返信する。
Webサーバプログラム105aは、投稿情報1104を表示データDB107bに格納すると同時に、不図示のメールサーバに対して転送し処理を終了する。
【0062】
さらに、スパマー投稿ツール102aは、Webサーバ105に対して、二度目のスパム投稿1105を行う。スパマー投稿ツール102aから投稿された投稿情報1106はWebサーバ105に転送される。Webサーバ105は、スパマー投稿ツール102aから投稿された投稿情報1106を変換モジュール106aに転送する。この際、Webサーバプログラム105aは、スパマー投稿ツール102aから投稿された投稿情報1106を保持する。
そして、変換モジュール106aは、スパマー投稿ツール102aから二度目に受信した投稿情報1106を保持し、その変数構成と一致する変換変数セットをDBサーバ107上から検索する。ここで、投稿情報1106に対応する変換変数セット1103は、一度目のスパム投稿1101が実行された際に、変換モジュール106aが既に削除しているため、ここでは該当する変数変換セットはDBサーバ107の変換変数セット格納DB107a内から検出されない。
このため、変換モジュール106aは変換変数セットの投稿情報1106に対する未検出結果をWebサーバ105のWebサーバプログラム105aに通知する。これを受けて、Webサーバ105のWebサーバプログラム105aは投稿情報1106に対する未検出結果に基づき、スパマー投稿サイト102によるスパム投稿1105の接続を切断する。さらに、Webサーバプログラム105aは、Webサーバ105に保持していた二度目のスパム投稿1105に関わる投稿情報1106を廃棄して、本処理を終了する。
【0063】
図13は、本実施形態を示す情報処理システムで扱うフォームファイルの一例を示す図である。本例は、図4に示したS409において書換え処理が行われる、HTMLのオリジナルフォームファイルと、変数名情報が変換されたWebフォームファイルの例を示している。
図13において、1301は変換前のHTMLによるオリジナルのフォームファイルを示す例である。1302はそのHTMLによるオリジナルのフォームファイルに記載されている変数名情報を示す例である。
1303は、変換モジュール106aによって変換された変数名情報によって書換えられたフォームファイルを示す例である。1304は変換モジュールによって変換された実際の変数名情報を示す例である。本例では、変数名「name」を「aaaaaaaa」に変換し、変数名「kana」を「bbbbbbbb」に変換した例である。
【0064】
図14は、図12に示した変換変数セット格納D107aに格納される変換変数名情報のセットのデータ構造を説明する図である。
図14において、1401は格納対象となるフォームファイルを特定するURLデータで、ドメイン名ごとに複数のURL情報1402が存在する。
1403は変換変数セット管理IDデータで、該URL情報1402に対するクライアントからのフォームアクセスごとに複数の管理ID1404が生成される。
1405は、管理ID1401毎の具体的な変換変数セットで、管理ID1404毎に変換前のオリジナル変数名情報1406と変換後の変数名情報1407とがセットで管理される。
1407は格納される変換後の変数名情報である。1408は同じURL名に対する別のアクセスにより生成された別IDに紐づく変換変数セットである。
【0065】
第2実施形態によれば、Webサーバは、スパマー投稿ツールが直接投稿(POST)処理を連続的に行うスパム投稿を防ぐことができる。
また、変換前のフォームファイル(オリジナルフォームファイル)に対し変数名情報の変換を行うことで、ユーザが作成した多種多様のオリジナルフォームファイルに対し、フォーム構造を変更することなく対処することが可能となる。
さらに、HPへの訪問者に表示されるHTML上の文言(例えば、お名前、メールアドレス)については変化がないため、サービスそのものへの影響が少ない。
【0066】
なお、本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア(プログラム)をパソコン(コンピュータ)等の処理装置(CPU、プロセッサ)にて実行することでも実現できる。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合も適応可能である。この場合、本発明を達成するためのソフトウエアによって表されるプログラムを格納した記憶媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0067】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【符号の説明】
【0068】
101 スパマー解析サイト
102 スパマー投稿サイト
103、110 クライアントシステム
104 ISPシステム
【技術分野】
【0001】
本発明は、情報処理装置が返信するフォームファイルに対する要求を処理するサーバ装置に関する。
【背景技術】
【0002】
近年、企業が行う情報を発信したり、情報を取得したりする処理においては、ホームページが利用されることが多くなってきている。このようなホームページを通しての情報発信、それに対するホームページからの情報取得は現在の企業業務上重要である。
このようなニーズに対して、近年、ホームページの入力フォームに対し連続的にサービスの妨害を意図した投稿を行うDenial of Service(DoS)攻撃が大幅に増大してきており、ホームページの運用業務に大きな支障をきたしている。
【0003】
このような状況への対応技術として、同様な入力フォーム機能である掲示板システムに対して下記特許文献1が開示されている。
この特許文献1では、例えば、掲示板に対する投稿を監視する監視サーバを設け、不正な文字列の投稿を監視することでスパム投稿を防止する電子掲示板監視システムがある。監視サーバは予め掲載不許可用語を定義・登録し、その用語とのマッチングにより不正投稿をチェックする。ここで、スパム(SPAM)投稿とは、公開されているWebの入力(例えばアンケートや資料請求など)サイトに対して、不正な文字列を多量に書き込むなどすることにより、そのサイトのサービス維持を妨害することを目的とした投稿を指し、その実行者や実行ツールをスパマーと言う。
【0004】
また、フォーム取得(GETメソッド)時のURI中に識別子を設けることでスパム投稿を防止する、掲示板システムおよびその不正投稿防止方法などがある。例えば下記特許文献2には、不正投稿防止方法として識別子と投稿(POSTメソッド)された情報に当該識別子があるか、または、フォーム取得から所定の時間を経過していないかをチェックし、条件に一致しない場合に投稿を拒否することが開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−334458号公報
【特許文献2】特開2007−272574号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述のように、特許文献1では、投稿内容について適切な内容かどうかの判断処理を入れることで、不正な投稿を排除している。よって、特許文献1の方法では投稿内容に問題があれば効果があるが、不正な用語を含まず連続投稿自体が問題となるDoS攻撃には効果がない。
また、特許文献2では、投稿するクライアントが異なる場合や、フォーム取得から投稿までに特定の時間が空いている場合に投稿拒絶する。よって、特許文献2では、フォームの取得→投稿を繰り返す攻撃には効果がない。また、特定識別子をハイジャックされることで効果が減少してしまう場合もあった。
【0007】
また、特許文献1、2はいずれも掲示板などのフォーム構成情報が予め定められたWebフォームファイルに対する対策である。このため、対象としている顧客ごとに多種多様なWebフォームファイルに対応する必要があるフォームメール機能に対して適用することは難しかった。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、システム構成を大幅に変更することなく、フォームファイルを用いた情報処理装置からの好ましくない投稿処理に有効に対処できる仕組みを提供することである。
【課題を解決するための手段】
【0008】
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
情報処理装置からのフォームファイルの要求に従い管理されるフォームファイルを情報処理装置に送信し、前記情報処理装置が返信するフォームファイルに対する要求を処理するサーバ装置であって、前記フォームファイルに含まれるオリジナルの変数名情報を抽出する抽出手段と、前記情報処理装置から同一のフォームファイルが要求される毎に、前記抽出手段が抽出したオリジナルの変数名情報を異なる変数名情報に変換する変換手段と、前記変換手段により変数名情報が変換されたフォームファイルを要求元の前記情報処理装置に送信する送信手段とを備えることを特徴とする。
【発明の効果】
【0009】
本発明によれば、システム構成を大幅に変更することなく、フォームファイルを用いた情報処理装置からの好ましくない投稿処理に有効に対処できる。
【図面の簡単な説明】
【0010】
【図1】本実施形態を示すデータ処理システムの一例を示す図である。
【図2】変換サーバの構成を説明するブロック図である。
【図3】情報処理システムのデータ処理手順を示すフローチャートである。
【図4】サーバ装置のデータ処理手順を示すフローチャートである。
【図5】Webフォームファイルの構造を説明する図である。
【図6】サーバ装置のデータ処理手順の一例を示すフローチャートである。
【図7】情報処理システムの投稿処理の流れを説明するブロック図である。
【図8】情報処理システムの投稿受信処理の流れを説明するブロック図である。
【図9】情報処理システムのデータ処理手順を示すフローチャートである。
【図10】サーバ装置のデータ処理手順の一例を示すフローチャートである。
【図11】サーバ装置のデータ処理手順の一例を示すフローチャートである。
【図12】情報処理システムの投稿受信処理を説明するブロック図である。
【図13】情報処理システムで扱うフォームファイルの一例を示す図である。
【図14】変換変数セット格納に格納される情報のデータ構造を示す図である。
【発明を実施するための形態】
【0011】
次に本発明を実施するための最良の形態について図面を参照して説明する。
〔第1実施形態〕
図1は、本実施形態を示すデータ処理システムの一例を示す図である。本例は、サーバ装置がインターネットを介して情報処理装置のWebブラウザからの要求に従いフォームファイルの処理を行うためのCGIプログラムを備える。そして、本サーバ装置は、後述するISPシステムを構築するプロバイダが提供するサーバ装置上のホームページ領域に別途、企業の担当者または個人が登録したホームページに設定されたフォームファイルの処理を実行するシステム例である。ここで、CGIとは、Common Gateway Interfaceの略である。以下、データ処理システムにおけるフォームファイルの投稿処理に関わるフォーム処理について詳述する。
【0012】
図1において、101はスパム解析処理を実行するスパマー解析サイトで、ISP(Internet Service Provider)システム104が提供するターゲットのWebフォームファイルにアクセスする。そして、スパマー解析サイト101は、スパマー解析ツール101aを備えて、フォーム情報取得、解析、情報管理および、スパマー投稿ツール102aへの解析情報の提供を行う。
ここで、スパマー投稿ツールとは、例えばクローラ(Crawler)が用いられ、ウェブ上の文書や画像などを周期的に取得し、自動的にデータベース化するプログラム(モジュール)である。なお、「スパイダー」や「ロボット」などとも呼ばれる場合がある。
【0013】
102はスパマー投稿サイトで、スパマー投稿ツール102aを備えて、スパマー解析サイト101から取得したフォーム解析情報に基づき、ターゲットホームページのWebサーバに対してスパム投稿を行う。
なお、スパマー解析サイト101、スパマー投稿サイト102は、CPU、ROM、RAMを含むコンピュータシステムを備えて構成されている。そして、スパマー解析サイト101、スパマー投稿サイト102は、インターネット109を通じて後述するISPシステム104と所定のプロトコルで通信可能に構成されている。また、スパマー解析サイト101、スパマー投稿サイト102を1つのコンピュータシステムで構築することも可能である。
【0014】
なお、スパマー投稿サイト102は、スパマー解析サイト101で解析された変数名情報を利用してWebサーバ105に投稿する処理を行う。この際、スパマー投稿サイト102が毎回Webサーバ105からWebフォームファイルを要求して取得した後、取得したWebフォームファイルを用いて投稿情報をWebサーバ105に投稿するシステムについては第1実施形態で説明する。
また、投稿処理の際、スパマー投稿サイト102が投稿処理時に、その都度Webフォームファイルをダウンロードせずに、直接投稿(POST)するシステムについては、第2実施形態で詳述する。
【0015】
103はターゲットとなるホームページの管理者が操作するクライアントシステムで、Webフォームファイル宛に投稿された情報をWeb画面、メールによって取得するための、Webブラウザソフト、またはメールクライアントソフトを備えている。なお、クライアントシステム103は、後述するコンピュータシステムを備え、インターネット109を介して、ISPシステム104へアクセス可能に構成されている。
【0016】
ISPシステム104は、Webサーバ105、変換サーバ106、DBサーバ107を備える。なお、Webサーバ105、変換サーバ106、DBサーバ107を1つのコンピュータシステムで構築することも可能である。
Webサーバ105は、ターゲットのホームページ表示およびWebフォーム機能を有するWebサーバプログラム105aと、Webフォームファイルに表示されるコンテンツファイルを格納するホームページファイル格納領域105bを備える。また、ホームページファイル格納領域105bは、Webフォームファイルに変換される前のホームページ管理者が用意するHTML形式のフォームファイル105cを複数格納する。
【0017】
106は変換サーバであり、変数名情報の抽出、変換、格納管理処理および、Webサーバ105、DBサーバ107との間で情報通信を行う変換モジュール106aを備えている。107はデータベースサーバ(DBサーバ)で、データベース管理ソフトを備えている。また、DBサーバ107は、変換モジュール106aが抽出したHTMLのフォームファイルのオリジナル変数名情報と変換処理を行った後の変換変数名情報の組合せ情報を管理するための変換変数セット格納DB107aを備えている。なお、変換モジュール106aは、オリジナルの変数名情報を、後述する図5に示すようなランダムの変数名情報に変換する機能を備えている。
また、107bは投稿クライアントから入力された情報を、ホームページ管理者に対してWeb通知するための情報を格納する表示データベース(表示データDB)である。108−1〜108−3はWebフォームファイルであり、Webサーバ105がHTML形式のフォームファイル105cを元にWebアクセス可能に変換したWebフォームファイルである。
なお、本例では、スパマー解析サイト101とやり取りされるWebフォームファイルをWebフォームファイル108−1と記している。同様に、スパマー投稿サイト102とやり取りされるWebフォームファイルをWebフォームファイル108−2と記している。さらに、クライアントシステム110とやり取りされるWebフォームファイルをWebフォームファイル108−3と記している。
【0018】
109はインターネット環境であり、当該図における101、102、103、104、110のシステムがインターネット経由で接続されている。
110は正常投稿者が操作するクライアントシステムであり、ターゲットホームページに対してWebブラウザによるWebフォームファイル108−3の取得と、取得したWebフォームファイル108−3を用いてWebサーバ105に対して正常な投稿処理を行う。なお、クライアントシステム103、110は、図2に示すハードウエア資源と、OSを含むソフトウエア資源を備えて構成されている。
【0019】
図2は、図1に示したISPシステム104を構成する変換サーバ106のハードウエア構成を説明するブロック図である。なお、図1に示すISPシステム104を構成するその他のサーバ(Webサーバ105、DBサーバ107)も同等のハードウエア構成を備えている。さらに、図1に示したクライアントシステム103、110のハードウエアも同等のハードウエア構成を備える。
また、図2に示されるハードウエア構成は一般的な情報処理装置のハードウエア構成に相当するものとし、本実施形態の各サーバにはこの一般的な情報処理装置のハードウエア構成を適用できるものとする。
【0020】
図2において、CPU201は、ROM203に格納、或いはハードディスク206からRAM202にロードされたOS(オペレーティングシステム)やアプリケーション等のプログラムを実行する。
なお、図1に示した変換モジュール106aは変換サーバ106上で動作するプログラムであり、ハードディスク206からRAM202にロードされてCPU201によって実行される。本実施形態に対応する各フローチャートに示す処理も上記プログラムの実行により実現される。
【0021】
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。ネットワークインタフェース204はISPシステム104内においてネットワークに接続された他のサーバ(Webサーバ105、DBサーバ107)との通信制御処理を実行する。
ディスクコントローラ205は、各種処理において生成されるデータのハードディスク206におけるデータアクセスを制御する。ディスプレイコントローラ207は、接続される各種ディスプレイ208の表示を制御する。入力デバイスコントローラ209は、キーボード210およびマウス211からのキー入力および操作を制御する。
以下、スパマー解析サイト101がターゲットとなるホームページのWebフォームファイルを取得して解析した結果をスパマー投稿サイト102が利用して行うスパマー投稿処理を説明する。
【0022】
図3は、本実施形態を示す情報処理システムにおけるデータ処理手順の一例を示すフローチャートである。本例は、ISPシステム104とスパマー解析サイト101、スパマー投稿サイト102との間で発生する処理例である。
また、(A)はISPシステム104側の処理に対応し、(B)はスパマー解析サイト101側の処理に対応し、(C)はスパマー投稿サイト102側の処理に対応する。なお、S301〜S303、S311〜S313、S321〜S325は各ステップを示す。また、S301〜S303はISPシステム104を構成するサーバ装置のCPU201がRAM202に制御プログラムをロードして実行することで実現される。
また、S311〜S313は、スパマー解析サイト101側のコンピュータシステムがスパマー解析ツール(プログラム)101aを実行することで実現される。さらに、S321〜S325はスパマー投稿サイト102側のコンピュータシステムがスパマー投稿ツール(プログラム)102aを実行することで実現される。
【0023】
まず、Webサーバ105がターゲットとなるホームページのWebフォームファイル(Webフォーム情報)に対するスパマー解析ツール101aからのアクセスを受信する。そして、S301で、Webサーバ105は、ホームページファイル格納領域105bから検索したHTML形式のフォームファイル105cから生成したWebフォームファイル108−1をスパマー解析ツール101aに送信する。
そして、S302において、Webサーバ105は、スパマー投稿ツール102aからのリクエストに基づき、投稿処理に必要なWebフォームファイル108−2を再度スパマー投稿ツール102aに送信する。このWebフォームファイルの再送信処理については、S301と同一であり、後述する図4に示すフローチャートに従って詳述する。
【0024】
そして、S303で、ISPシステム104は、スパマー投稿ツール102aからターゲットとなるWebフォームファイル108−1に対するスパム投稿の受信処理を行う。
なお、Webサーバ105に対するこのスパム投稿受信処理に関する詳細フローは、図6において詳細に説明する。
【0025】
図3の(B)に示すS311において、スパマー解析ツール101aは、S301によりWebサーバ105からWebフォームファイル108−1を受信したら、Webフォームファイル108−1を解析してS312へ進む。そして、S312で、スパマー解析ツール101aは、受信したWebフォームファイル108−1からスパマー投稿ツール102aが投稿処理を行うのに必要な変数名情報を取得しメモリ装置に保持する。
そして、S313で、スパマー投稿ツール102aからの要求に従い、Webフォームファイル108−1から解析して保持している変数名情報をスパマー投稿ツール102aに送信して、本処理を終了する。
【0026】
図3の(C)に示すS321において、スパマー投稿ツール102aは、スパマー解析ツール101aから変数名情報を受信したら、S322で、受信した変数名情報をメモリ装置に保持する。次に、S323で、スパマー投稿ツール102aは、ISPシステム104に対して、Webフォームファイル108−2を取得するための要求を行う。そして、S324で、スパマー投稿ツール102aがISPシステム104のWebサーバ105からWebフォームファイル108−2を受信したら、S325へ進む。
そして、S325で、スパマー投稿ツール102aは、Webサーバ105から受信したWebフォームファイル108−2と、スパマー解析ツール101aから受信した変数名情報とを用いてスパム投稿をISPシステム104に送信して、本処理を終了する。
【0027】
図4は、本実施形態を示すサーバ装置におけるデータ処理手順の一例を示すフローチャートである。本例は、ISPシステム104において行われる、ターゲットとなるホームページに対するWebフォームリクエストを受信してからWebフォームファイルの送信処理までが含まれる。なお、S401〜S411は各ステップを示す。また、各ステップは、ISPシステム104の各サーバ装置のCPU201がRAM202に制御プログラムをロードして実行することで実現される。
【0028】
まず、S401で、Webサーバ105は、スパマー解析ツール101aからターゲットとなるホームページのWebフォームファイル108−1を取得するためのリクエストを受信する。または、Webサーバ105は、正常投稿者のクライアントシステム110からターゲットとなるホームページのWebフォームファイル108−3を取得するためのリクエストを受信する。
次に、S402で、Webサーバ105は、スパマー解析ツール101aまたは正常投稿者のクライアントシステム110から受信したリクエスト情報を変換サーバ106上の変換モジュール106aに転送する。なお、受信したリクエスト情報は、Webサーバ105上にも保持される。ここで、転送されるリクエスト情報にはターゲットとなるホームページのURL情報、Webフォームファイルの変数名情報が含まれる。さらに、転送されるリクエスト情報にはアクセス元のスパマー解析ツール101aまたは正常な投稿者のクライアントシステム110に設定されているIP情報、アクセスされた時間情報等が含まれる。
次に、S403で、変換サーバ106の変換モジュール106aは、Webサーバ105から転送されたリクエスト情報を取得し全ての情報をDBサーバ107の変換変数セット格納DB107aに格納する。そして、S404で、変換サーバ106の変換モジュール106aは、受け取ったリクエスト情報に基づき、ターゲットとなるホームページのHTMLのフォームファイル105cをWebサーバ105上のホームページファイル格納領域105bから取得する。
【0029】
次に、S405で、変換サーバ106の変換モジュール106aは、ホームページファイル格納領域105bから取得したHTMLのフォームファイルから全てのオリジナルの変数名情報と表示名情報を抽出する。さらに、変換サーバ106の変換モジュール106aは抽出したオリジナルの変数名情報を変換変数セット格納DB107aに格納する。
ここで、オリジナルの変数名情報は、図5に示すような特定のルールに則って記述されており、そのルールに合致する文字列を抽出する。ここで、変換変数セット格納DB107aに格納された情報は、変換変数セット格納DB107a上では格納時に割振られたユニークな管理IDにより管理される。
【0030】
図5は、図1に示したWebサーバ105が提供するHTML形式のフォームファイル105cの構造を説明する図である。本例に示すWebフォームファイルは、図4に示すS404において取得されるオリジナルのHTMLのフォームファイルおよびその中に含まれるフォーム構造情報と、抽出される変数名情報と表示名の例を示している。
図5において、1201は、図1に示したホームページファイル格納領域105bに格納されているHTMLのフォームファイル105cの例である。1202はHTMLのフォームファイルと連携してWebフォームファイル機能を提供するCGIプログラムのパスである。
1203はHTMLのフォームファイルの保有ユーザおよびホームページのURLを指定するドメイン名である。1204は該HTMLのフォームファイル1201によって生成されるWebフォームファイルのファイル名である。
【0031】
1205は、該HTMLのフォームファイル1201に記載されている変数名情報である。本例では、変数名情報1205が「name」と、「kana」の場合を示す。
1206は、該HTMLのフォームファイル1201から抽出されるオリジナルの変数名情報とそれに紐づく表示文字との対応を示している。
1207は、該HTMLのフォームファイル1201から抽出されるオリジナルの変数名情報を変換モジュール106aが変換した変換後の変数名情報とそれに紐づく表示文字との対応を示している。
【0032】
以下、続けて図4に示すS406以降のステップの処理を説明する。
変換モジュール106aは、S406で、抽出した変数名情報と、対象となったURL情報と、アクセス時間を特定の変換ルール、例えばハッシュ関数などを用いて変換処理を実行し、新たな変数名情報を生成する。なお、変換ルールは本実施形態に記載の方法に特定されるものではない。
そして、S407で、変換サーバ106の変換モジュール106aは、生成した変換変数名情報と変換変数セット格納DB107aに格納されている同じURL名向けに生成され格納されている変数名情報とを比較する。ここで、比較した結果、変換変数セット格納DB107aに格納されている変数名情報と生成された変数名情報とが同一の構成であると変換モジュール106aが判断した場合は、再度S406へ戻り、変数名情報を生成する処理を実行する。
【0033】
一方、S407において比較した結果、変換変数セット格納DB107aに格納されている変数名情報と生成された変数名情報とが異なると変換モジュール106aが判断した場合は、S408へ進む。
そして、S408で、変換モジュール106aは、DBサーバ107の変換変数セット格納DB107aの、変換前のオリジナルの変数名情報に該当する管理IDのレコードに、変換後の変数名情報を対応付けて格納する。そして、変換モジュール106aは変換前のオリジナルの変数名情報と変換後の変数名情報の組合せを変換済みの変数名情報のセットとして変換変数セット格納DB107a上で管理する。
次に、S409において、変換サーバ106の変換モジュール106aは、HTMLのフォームファイルにおいてオリジナルの変数名情報を、S406において生成して変換変数セット格納DB107aに格納した変換済みの変数名情報に全て書き換える。なお、変数名情報の書き換え処理は、後述する図13の記載例のように書き換えられる。
【0034】
次に、S410で、変換サーバ106の変換モジュール106aは、S409において変数名情報が書き換わったHTMLのフォームファイルをWebサーバ105に対して受け渡す。そして、S411で、Webサーバ105のWebサーバプログラム105aは、書き換わったHTMLのフォームファイルを元に実際にブラウザが閲覧するWebフォームファイル108−1を生成する。そして、Webサーバ105のWebサーバプログラム105aは、生成したWebフォームファイル108−1をリクエスト元(要求元)のスパマー解析ツール101aに送信して、処理を終了する。
なお、正常な投稿者の場合、Webサーバ105のWebサーバプログラム105aは、クライアントシステム110のWebブラウザに対して生成したWebフォームファイル108−3を送信する。
【0035】
図6は、本実施形態を示すサーバ装置におけるデータ処理手順の一例を示すフローチャートである。本例は、ISPシステム104が図3に示したS325において行うスパム投稿(POST)への受信対応処理を含む処理例である。なお、S501〜S507は各ステップを示す。また、各ステップは、ISPシステム104の各サーバのCPU201がRAM202に制御プログラムをロードして実行することで実現される。
【0036】
S501で、Webサーバ105が、スパマー投稿サイト102のスパマー投稿ツール102aまたは正常投稿者のクライアントシステム110のWebブラウザからの投稿(POST)を受信し、投稿情報を受け取る。この時、Webサーバ105が受信する投稿の宛先は、図3に示したS302(または)S323においてダウンロードしたターゲットとなるホームページに対するものである。なお、本フローチャート上には図示していないが、スパマー投稿ツール102aが図3に示したS322において、スパマー解析ツール101aから取得したフォーム構造と、同じくS323において投稿用に新たにWebサーバ105から取得したフォーム構造は常に異なる。
このため、スパマー投稿ツール102aは図6に示すS501に示す、Webサーバ105が投稿情報を受信する処理を実行できずに、スパマー投稿ツール102aは単独で投稿処理を自ら失敗して、投稿処理を断念することになる。
【0037】
次に、S502において、Webサーバ105は変換サーバ106の変換モジュール106aに対しインターネット109を介して受信した投稿情報を転送する。ここで、投稿情報には、クライアントシステム110から受信したWebフォームファイル108−3のURL情報、変数名情報、変数名情報が含まれる。
次に、S503において、変換サーバ106の変換モジュール106aはWebサーバ105から転送された投稿情報から、投稿時のURL、変数名情報を抽出する。さらに、変換サーバ106の変換モジュール106aはWebサーバ105から抽出したURL情報の対象となる変数名情報の構成と一致する変換済みの変数名情報のセットをDBサーバ107から検索し、抽出する。
【0038】
そして、S504において、変換サーバ106の変換モジュール106aは、S501で取得済の投稿情報に含まれる変換済みの変数名情報に対して、DBサーバ107から抽出した変換前のオリジナルの変数名情報への書換え処理を行う。
次に、S505において、変換サーバ106の変換モジュール106aは、S504で書換え処理を行った投稿情報をWebサーバ105に対して転送する。そして、S506において、Webサーバ105のWebサーバプログラム105aは、変換サーバ106の変換モジュール106aから転送された投稿情報に基づき、投稿情報のWeb通知画面を表示するための画面データを生成し、表示データDB107bに格納する。
そして、S507において、Webサーバ105のWebサーバプログラム105aは、変換サーバ106の変換モジュール106aから転送された投稿情報に基づき、投稿情報のメール通知用データを生成し、生成されたメールデータを不図示のメールサーバ宛に転送して、本処理を終了する。
【0039】
図7は、本実施形態を示す情報処理システムにおけるWebフォームファイルを用いた投稿処理の流れを説明するブロック図である。以下、スパマー解析サイト101からの第1のWebフォームファイル906のリクエスト901に基づく、スパマー投稿サイト102によるスパム投稿処理の流れを説明する。
図7において、101aはスパマー解析ツールで、インターネット109を経由してターゲットホームページを保有するISPシステム104のWebサーバ105に解析用のWebフォームファイルのリクエスト901を送信する。
【0040】
105aはWebサーバプログラムで、スパマー解析ツール101aからWebフォームファイルに対するリクエスト901を受信し、それを変換サーバ106の変換モジュール106aにリクエスト902として転送する。
変換モジュール106aはWebサーバプログラム105aから転送されたリクエスト902に該当するHTMLのフォームファイル903を、ホームページファイル格納領域105bのフォームファイル105cの中から取得する。
そして、変換サーバ106の変換モジュール106aは、取得したHTMLのフォームファイル903から変数名情報を抽出する。さらに、変換モジュール106aはこの抽出したオリジナルの変数名情報に基づき変換変数名情報を生成し、変換した変換済みの変数名情報で取得したフォームファイル(HTML)のオリジナルの変数名情報を書換える。
【0041】
そして、変換サーバ106の変換モジュール106aは、書換えた変換済みの変数名情報とオリジナルの変数名情報のセット904を変換変数セット格納DB107aに格納し、変換済のHTMLのフォームファイル905をWebサーバプログラム105aに転送する。
そして、Webサーバプログラム105aは受け取った変換済のHTMLのフォームファイル905に基づき第1のWebフォームファイル906を生成し、スパマー解析ツール101aに転送する。
一方、スパマー解析ツール101aは、Webサーバプログラム105aから受け取った第1のWebフォームファイル906の情報を解析し、Webフォームファイルに対して自動で投稿するために必要な変数名情報などの構成情報を抽出する。
【0042】
次に、スパマー解析ツール101aは抽出したフォーム構成情報907を、実際に投稿処理を行うスパマー投稿サイト102に対して、インターネット109等を介して提供する。
スパマー投稿ツール102aは、スパマー解析ツール101aから提供されたフォーム構成情報907を取得し、スパマー投稿ツール102aはスパマー投稿サイト102のメモリ装置内に格納する。このようにしてスパマー解析ツール101aからフォーム構成情報907を獲得したスパマー投稿ツール102aは、ターゲットとなるホームページから投稿処理のために、再度第2のWebフォームファイル908をWebサーバ105からインターネット109を介して取得する。
なお、今回Webサーバ105から取得した第2のWebフォームファイル908は、スパマー解析ツール101aが解析時に受け取った第1のWebフォームファイル906に基づくフォーム構成情報907とは変数名情報の構成が異なるWebフォームファイルとなる。
【0043】
スパマー投稿ツール102aは、ターゲットとなるホームページから取得した第2のWebフォームファイル908に対して、格納済のフォーム構成情報907に基づいたフォーム投稿処理(POST)を行う。この場合、スパマー投稿ツール102aが投稿するWebフォームファイルのフォーム構成情報907が第2のWebフォームファイル908と一致しない投稿となるため、スパマー投稿処理はエラーとなって、自ら処理を終了する。
なお、スパマー投稿ツール102aが再度、第3のWebフォームファイル908を取得した場合は、第1、第2のWebフォームファイルのいずれとも異なる第3のフォーム構成情報となるため、連続した投稿は一切成功しないことになる。これにより、ISPシステム104は、スパマー投稿サイト102のスパマー投稿ツール102aによるスパム攻撃を有効にブロックすることができる。
【0044】
図8は、本実施形態を示す情報処理システムにおけるWebフォームファイルを用いた投稿受信処理の流れを説明するブロック図である。以下、正常投稿者がクライアントシステム110を用いた投稿処理を説明する。
【0045】
図8において、正常投稿者のクライアントシステム110よりターゲットとなるホームページから投稿用の第1のWebフォームファイルに対するリクエスト1001をWebサーバ105に対しインターネット109を介して行う。Webサーバ105のWebサーバプログラム105aは、図7における説明の通りの処理を行い、第1のWebフォームファイル1002を生成し正常投稿者のクライアントシステム110に転送する。
クライアントシステム110の正常投稿者は、Webサーバ105から取得した第1のWebフォームファイル1002の構成情報に基づき投稿情報1003を入力し、Webサーバ105のWebサーバプログラム105aに転送する。
【0046】
Webサーバプログラム105aは、クライアントシステム110から取得した投稿情報1003を変換モジュール106aに転送する。そして、変換モジュール106aは、Webサーバプログラム105aから受信した第1のWebフォームファイル1002の投稿情報1003を保持し、その変数構成と一致する変換変数セットをDBサーバ107から抽出する。さらに、変換モジュール106aは、対象の変換変数セットのオリジナル変数1004をDBサーバ107から抽出する。
さらに、変換サーバ106の変換モジュール106aは、投稿情報1003から抽出したオリジナル変数で書き換えた投稿情報1005を生成してWebサーバプログラム105aに返信する。Webサーバプログラム105aは該投稿情報1005を表示データDB107bに格納すると同時に、不図示のメールサーバに対して転送し処理を終了する。
【0047】
これにより、正常な投稿者のクライアントシステム110からの投稿情報は、正常に表示できるオリジナルの投稿情報に書き戻されて管理される。
本実施形態によれば、Webサーバは、リクエストされた先にWebフォームファイルを転送する時にその都度、変数名情報を変換する。したがって、スパマー解析ツール101aが事前に取得したWebフォームファイルの変数名情報と、スパマー投稿ツール102aが投稿処理時に取得するWebフォームファイルの変数名情報とが適合しないようにできる。
これにより、スパマー投稿ツールの処理エラーを自発的に発生させることでWebフォームファイルに対する連続投稿を未然に防ぐことが可能となる。
また、本実施形態によれば、Webフォームファイルの構造を変更することがないため、既存のISPシステムに容易に導入することができる。
さらに、本実施形態によれば、ホームページに訪問した訪問者側のブラウザには、変数名情報に対する表示名、例えば名前、メールアドレス等の表示は一切変更されないため、ISPシステムが提供するサービスへの影響が少ない。
【0048】
〔第2実施形態〕
本実施形態は、スパマー解析サイト101がWebフォームファイル108−1の取得と解析を行った後、投稿処理時にその都度Webフォームファイルをダウンロードせずに、スパマー投稿ツール102aが直接投稿(POST)処理を行う場合の実施形態である。
第1実施形態では投稿前にS323において再度フォーム取得を行う構成であった。これに対し、第2実施形態では、S622(後述する図9)において、スパマー投稿ツール102aがターゲットの変数名情報を取得した後、再度フォーム取得をせず、S623で投稿処理を行う点が大きな差異である。
【0049】
図9は、本実施形態を示す情報処理システムにおけるデータ処理手順の一例を示すフローチャートである。本例は、ISPシステム104とスパマー解析サイト101、スパマー投稿サイト102間で発生する処理例である。また、(A)はISPシステム104側の処理に対応し、(B)はスパマー解析サイト101側の処理に対応し、(C)はスパマー投稿サイト102側の処理に対応する。なお、S601、S602、S611〜S613、S621〜S623は各ステップを示す。
【0050】
また、S601、S602はISPシステム104の各サーバ装置のCPU201がRAM202に制御プログラムをロードして実行することで実現される。また、S611〜S613は、スパマー解析サイト101側のコンピュータシステムのCPUが実行することで実現される。さらに、S621〜S623はスパマー投稿サイト102側のコンピュータシステムのCPUが実行することで実現される。
なお、本実施形態を示す情報処理システムであるISPシステムの処理フローについては、図4、図7を用いて説明する。ただし、図4については第1実施形態における図4のフローと同一であるため、ここでは記述を省略する。
S601において、ISPシステム104のWebサーバ105がターゲットとなるWebフォームファイルに対するスパマー解析ツール101aからのリクエスト901を受信する。そして、Webサーバ105がターゲットとなるWebフォームファイルをリクエストされているスパマー解析ツール101aに送信する。このWebフォームファイルへのリクエスト901とWebフォームファイルの送信処理に関する詳細フローは、図4の通りである。
【0051】
S611で、スパマー解析サイト101のスパマー解析ツール101aは、ISPシステム104からWebフォームファイル906を取得したら、S612へ進む。そして、S612において、スパマー解析ツール101aは、取得したWebフォームファイル906の情報を解析し、スパマー投稿ツール102aが投稿処理を行うのに必要な変数名情報を、当該Webフォームファイルのデータから取得し保持する。
【0052】
次に、S613において、スパマー解析ツール101aは、解析した変数名情報を実際の投稿処理を行うスパマー投稿ツール102aに対しインターネット109等を介して送信する。スパマー投稿ツール102aは、S621において、投稿に必要な変数名情報をスパマー解析ツール101aから取得する。そして、S622において、スパマー解析ツール101aから取得した変数名情報を保持する。そして、S623において、スパマー投稿ツール102aは、新たに投稿用WebフォームファイルをWebサーバ105からダウンロードせずに、直接スパム投稿をISPシステム104に送信して、本処理を終了する。
一方、S602において、ISPシステム104は、スパマー投稿ツール102aからターゲットとなるWebフォームファイルに対するスパム投稿の受信処理を行う。以下、スパム投稿受信処理を、図10を用いて詳細に説明する。なお、スパマー投稿ツール102aは上記S623における投稿処理を繰り返すものとする。
【0053】
図10は、本実施形態を示すサーバ装置におけるデータ処理手順の一例を示すフローチャートである。本例は、ISPシステム104が図9の(A)に示したS602において行うスパム投稿(POST)への受信対応処理例である。なお、S701〜S710は各ステップを示す。また、各ステップは、ISPシステム104の各サーバのCPU201がRAM202に制御プログラムをロードして実行することで実現される。ここで、制御プログラムとは、Webサーバプログラム105a、変換モジュール106aが含まれる。
まず、S701で、Webサーバ105が、スパマー投稿ツール102aからの投稿(POST)を受信し、投稿情報を受け取る。又は、正常なクライアントシステム110からの投稿情報を受け取る。この時、Webサーバ105がスパマー投稿ツール102aから受信する投稿の宛先は、図9の(B)に示したS613においてスパマー投稿ツール102aがスパマー解析サイトから情報を取得した、ターゲットホームページに対するものである。
【0054】
次に、S702で、Webサーバ105は、変換サーバ106の変換モジュール106aに対し受信した投稿情報を転送する。ここで、転送される投稿情報には、WebフォームファイルのURL情報、変数名情報、変数名情報ごとの入力情報が含まれる。次に、S703で、変換モジュール106aは、Webサーバ105から転送された投稿情報から、投稿時変数名情報を抽出し、DBサーバ107の変換変数セット格納DB107aに格納されている変換変数セットとを比較する。
【0055】
そして、変換モジュール106aは、投稿時変数名情報と変換変数セットとを比較して、変換変数セットと一致しない投稿時変数名情報であるかどうかを判断する。ここで、変換変数セットと一致しない投稿時変数名情報であると変換モジュール106aが判断した場合は、S704の処理に進み、投稿時変数名情報が一致していると変換モジュール106aが判断した場合はS706以降の処理に進む。
そして、S704において、変換モジュール106aは、Webサーバ105に対して該変数名情報が変換済みの変数名情報のセットと一致していない旨の情報をWebサーバ105に通知する。そして、S705において、変換モジュール106aから通知を受け取ったWebサーバ105のWebサーバプログラム105aは、変換変数セットに該当するWebアクセスを切断し、スパマー投稿サイト102から受信済の投稿情報を廃棄し、本処理を終了する。
【0056】
また、S706へ進んだ場合は、変換モジュール106aは変数名情報のセットが一致した投稿に関して、S702で取得済の投稿情報に含まれる変換後の変数名情報を、変換変数セット格納DB107a上に格納されている変換前の変数名情報への書き換える処理を行う。
次に、S707において、変換モジュール106aは、S706において使用した変数名情報のセットを変換変数セット格納DB107a上から削除する。そして、S708において、変換モジュール106aは、S706で書換え処理を行った投稿情報をWebサーバ105に対して転送する。
【0057】
次に、S709において、Webサーバ105のWebサーバプログラム105aは、変換モジュール106aから転送された投稿情報に基づき、投稿情報のWeb通知画面を表示するための表示データを生成し、表示データDB107bに格納する。そして、S710において、Webサーバ105は、変換モジュール106aから転送された投稿情報に基づき、投稿情報のメール通知用データを生成し、生成されたメールデータを不図示のメールサーバ宛に転送し、本処理を終了する。
【0058】
図11は、本実施形態を示すサーバ装置におけるデータ処理手順の一例を示すフローチャートである。本例は、S408において、変換変数セット格納DB107aに格納された変換変数セットの自動削除処理例である。なお、S801〜S803は各ステップを示す。また、各ステップは、ISPシステム104の変換サーバ106のCPU201がRAM202に制御プログラムをロードして実行することで実現される。
まず、S801において、変換モジュール106aは、変換変数セット格納DB107a上から格納されている変換変数セットの生成日時情報を抽出する。次に、S802において、変換モジュール106aは、抽出した生成日時が既定の制限時間を超えているかどうかチェックする。ここで、制限時間を経過していると変換モジュール106aが判断した場合は、S803へ進み、越えていないと変換モジュール106aが判断した場合は、S801の処理を繰り返す。なお、本実施形態において、既定の制限時間は別途システムパラメータとして設定される。ここで、制限時間は、変換された変数名情報とオリジナルの変数名情報とを保持しておくべき保持期間に対応する。
そして、S803において、変換モジュール106aは、制限時間を超えていた対象変換変数セットを変換変数セット格納DB107aから削除し、その処理を終了する。
【0059】
図12は、本実施形態を示す情報処理システムにおけるWebフォームファイルを用いた投稿受信処理の流れを説明するブロック図である。
なお、スパマー解析サイト101におけるWebフォームファイル取得からフォーム構造情報の投稿サイトへの提供までの処理は、図7に示したシステムにおける処理と同様であるので説明は省略する。
図12において、スパマー投稿ツール102aは、スパマー解析サイト101から提供されたフォーム構成情報を取得し、スパマー投稿サイト102内に格納する。スパマー解析サイト101からフォーム構成情報を取得したスパマー投稿ツール102aは、ターゲットとなるホームページに対して、格納済のフォーム構成情報907に基づいたフォーム投稿処理(POST)を連続的に行う。
【0060】
この場合、Webサーバ105からフォームファイルを新たに取得しないため、フォームファイルの構成情報が一致し、最初のスパム投稿1101は成功することとなり、投稿された投稿情報1102はWebサーバ105に転送される。
そして、Webサーバプログラム105aは取得した投稿情報1102を変換モジュール106aに転送する。変換モジュール106aは、受信した投稿情報1102を保持し、その変数構成と一致する変換変数セット1103のDBサーバ107からの抽出処理を行う。
【0061】
その際、変換モジュール106aは変換変数セットが一致した事を確認した時点で、抽出した変換変数セット1103をDBサーバ107の変換変数セット格納DB107a上から削除する。また、変換モジュール106aは、DBサーバ107の変換変数セット格納DB107aから抽出した変換変数セット1103からさらにオリジナル変数を抽出する。
そして、変換モジュール106aは、DBサーバ107の変換変数セット格納DB107aから抽出したオリジナル変数で投稿情報の変数名情報を書換えた投稿情報1104をWebサーバプログラム105aに返信する。
Webサーバプログラム105aは、投稿情報1104を表示データDB107bに格納すると同時に、不図示のメールサーバに対して転送し処理を終了する。
【0062】
さらに、スパマー投稿ツール102aは、Webサーバ105に対して、二度目のスパム投稿1105を行う。スパマー投稿ツール102aから投稿された投稿情報1106はWebサーバ105に転送される。Webサーバ105は、スパマー投稿ツール102aから投稿された投稿情報1106を変換モジュール106aに転送する。この際、Webサーバプログラム105aは、スパマー投稿ツール102aから投稿された投稿情報1106を保持する。
そして、変換モジュール106aは、スパマー投稿ツール102aから二度目に受信した投稿情報1106を保持し、その変数構成と一致する変換変数セットをDBサーバ107上から検索する。ここで、投稿情報1106に対応する変換変数セット1103は、一度目のスパム投稿1101が実行された際に、変換モジュール106aが既に削除しているため、ここでは該当する変数変換セットはDBサーバ107の変換変数セット格納DB107a内から検出されない。
このため、変換モジュール106aは変換変数セットの投稿情報1106に対する未検出結果をWebサーバ105のWebサーバプログラム105aに通知する。これを受けて、Webサーバ105のWebサーバプログラム105aは投稿情報1106に対する未検出結果に基づき、スパマー投稿サイト102によるスパム投稿1105の接続を切断する。さらに、Webサーバプログラム105aは、Webサーバ105に保持していた二度目のスパム投稿1105に関わる投稿情報1106を廃棄して、本処理を終了する。
【0063】
図13は、本実施形態を示す情報処理システムで扱うフォームファイルの一例を示す図である。本例は、図4に示したS409において書換え処理が行われる、HTMLのオリジナルフォームファイルと、変数名情報が変換されたWebフォームファイルの例を示している。
図13において、1301は変換前のHTMLによるオリジナルのフォームファイルを示す例である。1302はそのHTMLによるオリジナルのフォームファイルに記載されている変数名情報を示す例である。
1303は、変換モジュール106aによって変換された変数名情報によって書換えられたフォームファイルを示す例である。1304は変換モジュールによって変換された実際の変数名情報を示す例である。本例では、変数名「name」を「aaaaaaaa」に変換し、変数名「kana」を「bbbbbbbb」に変換した例である。
【0064】
図14は、図12に示した変換変数セット格納D107aに格納される変換変数名情報のセットのデータ構造を説明する図である。
図14において、1401は格納対象となるフォームファイルを特定するURLデータで、ドメイン名ごとに複数のURL情報1402が存在する。
1403は変換変数セット管理IDデータで、該URL情報1402に対するクライアントからのフォームアクセスごとに複数の管理ID1404が生成される。
1405は、管理ID1401毎の具体的な変換変数セットで、管理ID1404毎に変換前のオリジナル変数名情報1406と変換後の変数名情報1407とがセットで管理される。
1407は格納される変換後の変数名情報である。1408は同じURL名に対する別のアクセスにより生成された別IDに紐づく変換変数セットである。
【0065】
第2実施形態によれば、Webサーバは、スパマー投稿ツールが直接投稿(POST)処理を連続的に行うスパム投稿を防ぐことができる。
また、変換前のフォームファイル(オリジナルフォームファイル)に対し変数名情報の変換を行うことで、ユーザが作成した多種多様のオリジナルフォームファイルに対し、フォーム構造を変更することなく対処することが可能となる。
さらに、HPへの訪問者に表示されるHTML上の文言(例えば、お名前、メールアドレス)については変化がないため、サービスそのものへの影響が少ない。
【0066】
なお、本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウエア(プログラム)をパソコン(コンピュータ)等の処理装置(CPU、プロセッサ)にて実行することでも実現できる。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合も適応可能である。この場合、本発明を達成するためのソフトウエアによって表されるプログラムを格納した記憶媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0067】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【符号の説明】
【0068】
101 スパマー解析サイト
102 スパマー投稿サイト
103、110 クライアントシステム
104 ISPシステム
【特許請求の範囲】
【請求項1】
情報処理装置が投稿するためのフォームファイルを情報処理装置に送信し、前記情報処理装置から返信されるフォームファイルを処理するサーバ装置であって、
送信すべきフォームファイルに含まれるオリジナルの変数名情報を抽出する抽出手段と、
前記情報処理装置から同一のフォームファイルが要求される毎に、前記抽出手段が抽出したオリジナルの変数名情報を異なる変数名情報に変換する変換手段と、
前記変換手段により変数名情報が変換されたフォームファイルを要求元の前記情報処理装置に送信する送信手段と、
を備えることを特徴とするサーバ装置。
【請求項2】
前記変換手段が変換した変数名情報と、オリジナルの変数名情報とを対応付けて保持する保持手段と、
前記情報処理装置から返信されたフォームファイルから抽出される変数名情報が前記保持手段に保持される前記変換手段が変換した変数名情報と一致するかどうかを判断する判断手段と、
前記判断手段が抽出された変数名情報と保持される変数名情報とが一致すると判断した場合は、前記情報処理装置から取得したフォームファイルの変数名を前記変換手段により前記オリジナルの変数名のフォームファイルに変換させ、前記判断手段が抽出された変数名情報と保持される変数名情報とが一致しないと判断した場合は、前記情報処理装置からのフォームファイルに対する処理を終了する処理手段と、
を備えることを特徴とする請求項1記載のサーバ装置。
【請求項3】
前記判断手段が抽出された変数名情報と保持される変数名情報とが一致すると判断した場合は、前記保持手段に対応付けて保持される変数名情報とオリジナルの変数名情報とを削除する削除手段を備えることを特徴とする請求項2記載のサーバ装置。
【請求項4】
前記変換手段は、オリジナルの変数名情報をランダムな変数名情報に変換することを特徴とする請求項1又は2記載のサーバ装置。
【請求項5】
前記削除手段は、前記保持手段に対応づけて保持される変数名情報と、オリジナルの変数名情報とを、設定された保持期間が経過する毎に削除することを特徴とする請求項3記載のサーバ装置。
【請求項6】
情報処理装置が投稿するためのフォームファイルを情報処理装置に送信し、前記情報処理装置から返信されるフォームファイルを処理するサーバ装置におけるフォーム処理方法であって、
送信すべきフォームファイルに含まれるオリジナルの変数名情報を抽出する抽出ステップと、
前記情報処理装置から同一のフォームファイルが要求される毎に、前記抽出ステップが抽出したオリジナルの変数名情報を異なる変数名情報に変換する変換ステップと、
前記変換ステップにより変数名情報が変換されたフォームファイルを要求元の前記情報処理装置に送信する送信ステップと、
を備えることを特徴とするフォーム処理方法。
【請求項7】
前記変換ステップが変換した変数名情報と、オリジナルの変数名情報とを対応付けて保持手段に保持する保持ステップと、
前記情報処理装置から返信されたフォームファイルから抽出される変数名情報が前記保持手段に保持される前記変換ステップが変換した変数名情報と一致するかどうかを判断する判断ステップと、
前記判断ステップが抽出された変数名情報と保持される変数名情報とが一致すると判断した場合は、前記情報処理装置から取得したフォームファイルの変数名を前記変換ステップにより前記オリジナルの変数名のフォームファイルに変換させ、前記判断ステップが抽出された変数名情報と保持される変数名情報とが一致しないと判断した場合は、前記情報処理装置からのフォームファイルに対する処理を終了する処理ステップと、
を備えることを特徴とする請求項6記載のフォーム処理方法。
【請求項8】
前記判断ステップが抽出された変数名情報と保持される変数名情報とが一致すると判断した場合は、前記保持手段に対応付けて保持される変数名情報とオリジナルの変数名情報とを削除する削除ステップを備えることを特徴とする請求項7記載のフォーム処理方法。
【請求項9】
前記変換ステップは、オリジナルの変数名情報をランダムな変数名情報に変換することを特徴とする請求項6又は7記載のフォーム処理方法。
【請求項10】
前記削除ステップは、前記保持手段に対応づけて保持される変数名情報と、オリジナルの変数名情報とを、設定された保持期間が経過する毎に削除することを特徴とする請求項8記載のフォーム処理方法。
【請求項11】
請求項6乃至10のいずれか1項に記載のフォーム処理方法をコンピュータに実行させることを特徴とするプログラム。
【請求項1】
情報処理装置が投稿するためのフォームファイルを情報処理装置に送信し、前記情報処理装置から返信されるフォームファイルを処理するサーバ装置であって、
送信すべきフォームファイルに含まれるオリジナルの変数名情報を抽出する抽出手段と、
前記情報処理装置から同一のフォームファイルが要求される毎に、前記抽出手段が抽出したオリジナルの変数名情報を異なる変数名情報に変換する変換手段と、
前記変換手段により変数名情報が変換されたフォームファイルを要求元の前記情報処理装置に送信する送信手段と、
を備えることを特徴とするサーバ装置。
【請求項2】
前記変換手段が変換した変数名情報と、オリジナルの変数名情報とを対応付けて保持する保持手段と、
前記情報処理装置から返信されたフォームファイルから抽出される変数名情報が前記保持手段に保持される前記変換手段が変換した変数名情報と一致するかどうかを判断する判断手段と、
前記判断手段が抽出された変数名情報と保持される変数名情報とが一致すると判断した場合は、前記情報処理装置から取得したフォームファイルの変数名を前記変換手段により前記オリジナルの変数名のフォームファイルに変換させ、前記判断手段が抽出された変数名情報と保持される変数名情報とが一致しないと判断した場合は、前記情報処理装置からのフォームファイルに対する処理を終了する処理手段と、
を備えることを特徴とする請求項1記載のサーバ装置。
【請求項3】
前記判断手段が抽出された変数名情報と保持される変数名情報とが一致すると判断した場合は、前記保持手段に対応付けて保持される変数名情報とオリジナルの変数名情報とを削除する削除手段を備えることを特徴とする請求項2記載のサーバ装置。
【請求項4】
前記変換手段は、オリジナルの変数名情報をランダムな変数名情報に変換することを特徴とする請求項1又は2記載のサーバ装置。
【請求項5】
前記削除手段は、前記保持手段に対応づけて保持される変数名情報と、オリジナルの変数名情報とを、設定された保持期間が経過する毎に削除することを特徴とする請求項3記載のサーバ装置。
【請求項6】
情報処理装置が投稿するためのフォームファイルを情報処理装置に送信し、前記情報処理装置から返信されるフォームファイルを処理するサーバ装置におけるフォーム処理方法であって、
送信すべきフォームファイルに含まれるオリジナルの変数名情報を抽出する抽出ステップと、
前記情報処理装置から同一のフォームファイルが要求される毎に、前記抽出ステップが抽出したオリジナルの変数名情報を異なる変数名情報に変換する変換ステップと、
前記変換ステップにより変数名情報が変換されたフォームファイルを要求元の前記情報処理装置に送信する送信ステップと、
を備えることを特徴とするフォーム処理方法。
【請求項7】
前記変換ステップが変換した変数名情報と、オリジナルの変数名情報とを対応付けて保持手段に保持する保持ステップと、
前記情報処理装置から返信されたフォームファイルから抽出される変数名情報が前記保持手段に保持される前記変換ステップが変換した変数名情報と一致するかどうかを判断する判断ステップと、
前記判断ステップが抽出された変数名情報と保持される変数名情報とが一致すると判断した場合は、前記情報処理装置から取得したフォームファイルの変数名を前記変換ステップにより前記オリジナルの変数名のフォームファイルに変換させ、前記判断ステップが抽出された変数名情報と保持される変数名情報とが一致しないと判断した場合は、前記情報処理装置からのフォームファイルに対する処理を終了する処理ステップと、
を備えることを特徴とする請求項6記載のフォーム処理方法。
【請求項8】
前記判断ステップが抽出された変数名情報と保持される変数名情報とが一致すると判断した場合は、前記保持手段に対応付けて保持される変数名情報とオリジナルの変数名情報とを削除する削除ステップを備えることを特徴とする請求項7記載のフォーム処理方法。
【請求項9】
前記変換ステップは、オリジナルの変数名情報をランダムな変数名情報に変換することを特徴とする請求項6又は7記載のフォーム処理方法。
【請求項10】
前記削除ステップは、前記保持手段に対応づけて保持される変数名情報と、オリジナルの変数名情報とを、設定された保持期間が経過する毎に削除することを特徴とする請求項8記載のフォーム処理方法。
【請求項11】
請求項6乃至10のいずれか1項に記載のフォーム処理方法をコンピュータに実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2010−266912(P2010−266912A)
【公開日】平成22年11月25日(2010.11.25)
【国際特許分類】
【出願番号】特願2009−115209(P2009−115209)
【出願日】平成21年5月12日(2009.5.12)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成22年11月25日(2010.11.25)
【国際特許分類】
【出願日】平成21年5月12日(2009.5.12)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]