(57)【特許請求の範囲】
【請求項１】
外部リンク処理のためのシステムであって、
ネットワークコンテンツの中のコード化外部リンクにアクセスするためのユーザリクエストを受信するように構成されているインターフェースと、前記コード化外部リンクは、
外部リンクサーバのドメイン名と、
外部の宛先へのアドレスである元の外部リンクをエンコーディング関数によってコード化したコード化結果を含むコード化部分と、を含み、前記元の外部リンクはウェブページ上でユーザにより選択される前記コード化外部リンクによって置き換えられ、前記外部リンクサーバは前記ウェブページを提供するホストおよび外部の宛先の外部にあり、
前記インターフェースに接続されている１つ以上のプロセッサであって、
前記元の外部リンクを前記コード化外部リンクにコード化するために用いられた前記エンコーディング関数によって前記コード化外部リンクを前記元の外部リンクにデコードし、
基準を使用して前記コード化外部リンクの安全性レベルを決定し、
前記コード化外部リンクの前記決定された安全性レベルが安全でないと決定された場合は、前記元の外部リンクが安全でない旨の警告メッセージを生成し、前記ユーザが前記元の外部リンクに直接進むことを阻止するように構成されている１つ以上のプロセッサと、
前記１つ以上のプロセッサに接続され、前記１つ以上のプロセッサに命令を提供するように構成されている１つ以上のメモリと、
を備える、    
システム。
【請求項２】
請求項１に記載のシステムであって、
前記警告メッセージを生成することは、前記元の外部リンクを含めることなく前記警告メッセージを生成することを含む、システム。
【請求項３】
請求項１に記載のシステムであって、
前記警告メッセージを生成することは、前記元の外部リンクをプレーンテキストに変換することを含む、システム。
【請求項４】
請求項１に記載のシステムであって、
前記コード化外部リンクの前記決定された安全性レベルが安全であると決定された場合は、前記ユーザを前記元の外部リンクの前記宛先にリダイレクトする、システム。
【請求項５】
請求項１に記載のシステムであって、
前記コード化外部リンクの前記決定された安全性レベルが未知であると決定された場合は、前記警告メッセージを生成することは、前記外部リンクの安全性レベルが未知である旨のメッセージを生成し、前記元の外部リンクを含むリンクを出力することを含む、システム。
【請求項６】
請求項１に記載のシステムであって、
前記コード化外部リンクの前記決定された安全性レベルが未知であると決定された場合は、前記警告メッセージを生成することは、前記外部リンクの安全性レベルが未知である旨のメッセージを生成し、前記元の外部リンクをプレーンテキストに変換することを含む、システム。
【請求項７】
請求項１に記載のシステムであって、
前記１つ以上のプロセッサは、更に、前記元の外部リンクを受信するために前記コード化外部リンクをデコードするように構成されている、システム。
【請求項８】
請求項１に記載のシステムであって、
前記基準を使用して前記コード化外部リンクの安全性レベルを決定することは、前記元の外部リンクをブラックリストに照らしてチェックすることを含む、システム。
【請求項９】
請求項８に記載のシステムであって、
前記元の外部リンクが前記ブラックリストに載っている場合は、前記決定された安全性レベルは安全でない、システム。
【請求項１０】
請求項１に記載のシステムであって、
前記基準を使用して前記コード化外部リンクの安全性レベルを決定することは、前記元の外部リンクをホワイトリストに照らしてチェックすることを含む、システム。
【請求項１１】
請求項１０に記載のシステムであって、
前記元の外部リンクが前記ホワイトリストに載っている場合は、前記安全性レベルは安全である、システム。
【請求項１２】
請求項１に記載のシステムであって、
前記基準を使用して前記コード化外部リンクの安全性レベルを決定することは、前記元の外部リンクをホワイトリスト及びブラックリストに照らしてチェックすることを含む、システム。
【請求項１３】
請求項１２に記載のシステムであって、
前記元の外部リンクが前記ホワイトリストにも前記ブラックリストにも載っていない場合は、前記安全性レベルは未知である、システム。
【請求項１４】
請求項１に記載のシステムであって、
前記１つ以上のプロセッサは、更に、前記コード化外部リンクの前記決定された安全性レベルと、前記元の外部リンクとを含む安全性チェックログを作成するように構成されている、システム。
【請求項１５】
請求項１４に記載のシステムであって、
前記安全性チェックログは、重複を排除される、システム。
【請求項１６】
請求項１４に記載のシステムであって、
前記１つ以上のプロセッサは、更に、前記安全性チェックログを一定の時間間隔で解析するように構成されている、システム。
【請求項１７】
請求項１４に記載のシステムであって、
前記１つ以上のプロセッサは、更に、前記基準を前記安全性チェックログの解析に基づいてアップデートするように構成されている、システム。
【請求項１８】
請求項１に記載のシステムであって、
前記１つ以上のプロセッサは、更に、前記基準を第三者からの安全性情報に基づいてアップデートするように構成されている、システム。
【請求項１９】
外部リンクを処理する方法であって、
ネットワークコンテンツのなかのコード化外部リンクにアクセスするためのユーザリクエストを受信し、前記コード化外部リンクは、
外部リンクサーバのドメイン名と、
外部の宛先へのアドレスである元の外部リンクをエンコーディング関数によってコード化したコード化結果を含むコード化部分とを含み、前記元の外部リンクはウェブページ上でユーザにより選択される前記コード化外部リンクによって置き換えられ、前記外部リンクサーバは前記ウェブページを提供するホストおよび外部の宛先の外部にあり、
前記元の外部リンクを前記コード化外部リンクにコード化するために用いられた前記エンコーディング関数によって前記コード化外部リンクを前記元の外部リンクにデコードし、
基準を使用して前記コード化外部リンクの安全性レベルを決定し、
前記コード化外部リンクの前記決定された安全性レベルが安全でないと決定された場合は、前記元の外部リンクが安全でない旨の警告メッセージを生成し、前記ユーザが前記元の外部リンクに直接進むことを阻止すること、
を備える方法。
【請求項２０】
外部リンクを処理するためのコンピュータプログラムであって、
ネットワークコンテンツのなかのコード化外部リンクにアクセスするためのユーザリクエストを受信するための機能と、前記コード化外部リンクは、
外部リンクサーバのドメイン名と、
外部の宛先へのアドレスである元の外部リンクをエンコーディング関数によってコード化したコード化結果を含むコード化部分と、を含み、前記元の外部リンクはウェブページ上でユーザにより選択される前記コード化外部リンクによって置き換えられ、前記外部リンクサーバは前記ウェブページを提供するホストおよび外部の宛先の外部にあり、
前記元の外部リンクを前記コード化外部リンクにコード化するために用いられた前記エンコーディング関数によって前記コード化外部リンクを前記元の外部リンクにデコードするための機能と、
基準を使用して前記コード化外部リンクの安全性レベルを決定するための機能と、
前記コード化外部リンクの前記決定された安全性レベルが安全でないと決定された場合は、前記元の外部リンクが安全でない旨の警告メッセージを生成し、前記ユーザが前記元の外部リンクに直接進むことを阻止するための機能と、
をコンピュータによって実現させるコンピュータプログラム。
【請求項２１】
請求項１に記載のシステムであって、
前記基準を使用して前記コード化外部リンクの安全性レベルを決定することは、
前記デコードされた元の外部リンクを、複数の安全リンクを含むホワイトリストと比較し、
前記デコードされた元の外部リンクが、前記ホワイトリスト内の前記複数の安全リンクの１つと一致する場合、前記元の外部リンクの安全性レベルは安全であると決定すること、を備える、システム。
【請求項２２】
請求項１に記載のシステムであって、
前記エンコーディング関数はBase62エンコーディング関数またはBase64エンコーディング関数である、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、あらゆる目的のために、参照によって本明細書に組み込まれる、発明の名称を「Ａ  ＷＥＢ  ＬＩＮＫ  ＤＥＴＥＣＴＩＯＮ  ＭＥＴＨＯＤ，ＤＥＶＩＣＥ，ＡＮＤ  ＳＹＳＴＥＭ（ウェブリンク検出の方法、デバイス、及びシステム）」とする、２０１１年５月２７日に出願された中国特許出願第２０１１１０１４０１９８．Ｘ号に基づく優先権を主張する。
【０００２】
本出願は、コンピュータ技術を伴うものであり、特に、ウェブリンクの検出を伴うものである。
【背景技術】
【０００３】
ウェブページなどのネットワーク化されたコンテンツ（以下、ネットワークコンテンツと呼ぶ）は、ユーザによって入力されたコンテンツを含む様々なソースに由来すると考えられる。ユーザ入力コンテンツは、様々なリンクを含んでいてよい。ネットワークコンテンツが発行された後は、その他のユーザが、これらのリンクにアクセスする又は進むことができる。ユーザ入力リンクは、内部リンク又は外部リンクであってよい。外部リンクは、内部ウェブサイトとして予め定められた特定の１つ又は複数のドメイン名の外部のアドレスを有する。内部リンクが、初期設定によって概ね安全で且つ信頼できると見なされる一方で、外部リンクの安全性は、保障することが困難である。
【０００４】
既存の技術において、リンクの安全性を検出する１つの方法は、以下のとおりである。すなわち、クライアントが、アプリケーションサーバにHTTPリクエストを送信すると、アプリケーションサーバは、現ウェブページのコンテンツが外部リンクを含むかどうかを検出し、外部リンクを含む場合、アプリケーションサーバは、それらの外部リンクを例えばフィルタにかけて除外することによって又はプレーンテキスト形式に変換することによって処理する。この検出方法は、全ての外部リンクを一様にフィルタにかけて除外する。これは、安全でない外部リンクをフィルタにかけて除外することができる一方で、同時に、安全な外部リンクもフィルタにかけて除外する。このような検出方法は、多くは不正確であり、クライアントによる閲覧を制限する恐れがある。
【０００５】
既存の技術における別のリンク検出方法は、以下のとおりである。すなわち、クライアントが、アプリケーションサーバにHTTPリクエストを送信すると、アプリケーションサーバは、現ウェブページのコンテンツが外部リンクを含むかどうかを検出する。外部リンクを含む場合、アプリケーションサーバは、それらの外部リンクを、ブラックリストにあるものとして決定された安全でないリンクと比較し、ブラックリストに含まれている安全でないリンクに一致する外部リンクを、安全でない外部リンクをフィルタにかけて除外することによって処理する。
【０００６】
既存の検出方法では、アプリケーションサーバによって、単純なウェブリンク安全性検出（ドメイン名の照合など）が実施されるのが通常であり、これらは、多くの場合、大量のウェブページアクセスがある及び安全性検証ロジックが複雑である状況に対応することができない。更に、手動で維持されているブラックリストは、確認サイクルが長いうえに、応答速度が遅い。
【図面の簡単な説明】
【０００７】
以下の詳細な説明及び添付の図面において、本発明の様々な実施形態が開示される。
【０００８】
【図１】外部リンク処理のためのシステム及び環境の一実施形態を示す図である。
【０００９】
【図２】外部リンクをコード化外部リンクに変換するアプリケーションサーバの一実施形態を示すブロック図である。
【００１０】
【図３】外部リンクを処理する外部リンクサーバの一実施形態を示すブロック図である。
【００１１】
【図４】外部リンクをコード化外部リンクに変換する方法を示すフローチャートである。
【００１２】
【図５】安全性レベルにしたがって外部リンクを処理する方法を示すフローチャートである。
【００１３】
【図６】安全性チェックの基準を維持する方法を示すフローチャートである。
【発明を実施するための形態】
【００１４】
本発明は、プロセス、装置、システム、合成物、コンピュータ読み取り可能ストレージ媒体に実装されたコンピュータプログラム製品、並びに／又は結合先のメモリに保存された命令及び／若しくは結合先のメモリによって提供される命令を実行するように構成されたプロセッサのようなプロセッサなどの、数々の形態で実現することができる。本明細書では、これらの実現形態又は本発明がとりうるその他のあらゆる形態が、技術と称されてよい。総じて、開示されたプロセスのステップの順序は、発明の範囲内で変更されてよい。別途明記されない限り、タスクを実施するように構成されたものとして説明されるプロセッサ又はメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成された汎用コンポーネントとして、又はタスクを実施するように製造された特殊コンポーネントとして実装されてよい。本明細書で使用される「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された１つ以上のデバイス、回路、並びに／又は処理コアを言う。
【００１５】
本発明の原理を例示す添付の図面とともに、以下で、本発明の１つ以上の実施形態の詳細な説明が提供される。本発明は、このような実施形態との関わりのもとで説明されるが、いずれの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定され、本発明は、数々の代替形態、変更形態、及び均等物を網羅している。以下の説明では、本発明の完全な理解を与えるために、数々の具体的詳細が明記される。これらの詳細は、例示を目的として提供されるものであり、本発明は、これらの詳細の一部又は全部を伴わずとも、特許請求の範囲にしたがって実施することができる。明瞭さを期するために、本発明に関係する技術分野において知られる技術要素は、本発明が不必要に不明瞭にされないように、詳細な説明を省略されている。
【００１６】
ユーザ入力コンテンツの外部リンク処理が開示される。一部の実施形態では、ユーザによって入力された外部リンクは、外部リンクサーバ（例えば、信頼できるサーバ）を指し示すようにコード化され、外部リンクサーバによって処理される。一部の実施形態では、コード化された外部リンクである、コード化外部リンクは、外部リンクサーバのドメイン名と、元の外部リンクをエンコーディング関数によってコード化した結果を含むコード化部分とを含む。一部の実施形態では、外部リンクサーバは、元の外部リンクを得るために、外部リンクをデコードし、その安全性レベルをチェックすることによって外部リンクを処理する。一部の実施形態では、外部リンクサーバは、外部リンクの安全性レベルを決定するために、外部リンクを基準に照らしてチェックする。外部リンクが安全でないと決定されると、警告メッセージがユーザに送信され、ユーザは、その外部リンクに直接進むことを阻止される。外部リンクが安全であると決定されると、ユーザは、外部リンクにリダイレクトされる。
【００１７】
一部の実施形態では、基準は、信頼できるサイトのホワイトリストを含み、安全性レベルは、外部リンクをホワイトリストに照らしてチェックすることによって決定される。一部の実施形態では、基準は、信頼できるサイトのブラックリストを含み、安全性レベルは、外部リンクをブラックリストに照らしてチェックすることによって決定される。一部の実施形態では、外部リンクの安全性レベルを決定するために、ホワイトリスト及びブラックリストの両方がチェックされる。
【００１８】
一部の実施形態では、安全性チェックの基準がアップデートされる。一部の実施形態では、外部リンクの安全性チェックの結果がログに記録される。一部の実施形態では、安全性チェックのログは、外部リンクと、決定された安全性レベルとを含む。一部の実施形態では、安全性チェックのログが解析される。一部の実施形態では、安全性チェックのログの解析にしたがって、基準がアップデートされる。一部の実施形態では、基準は、インターネット安全機関又はユーザレポートなどの第三者から得られたウェブサイト安全性情報に基づいてアップデートされる。
【００１９】
図１は、外部リンク処理のためのシステム及び環境の一実施形態を示す図である。ユーザは、インターネット接続が可能なデバイス１０４（例えば、タブレットやスマートフォン）を使用し、インターネットを通じてアプリケーションサーバ１１０に接続する。コンピュータ１０２を使用してコンテンツを見ているユーザは、ウェブページにアクセスするために、インターネットを通じてアプリケーションサーバ１１０とやり取りする。一部の実施形態では、コンテンツ作成ユーザが、アプリケーションサーバ１１０に記憶させるリンクを含むコンテンツを入力する。一部の実施形態では、コンテンツ作成ユーザによって入力されるリンクは、外部リンクを含んでいてよい。例えば、コンテンツ作成ユーザは、電子商取引ウェブサイト上の販売者であってよく、自身が販売している商品の特徴を更に詳細に説明しているメーカのウェブサイトへのリンクを含む商品の説明を入力する。販売者が入力した説明は、また、電子商取引ウェブサイト上で提供される写真へのリンクも含む。一部の実施形態では、外部リンクは、アプリケーションサーバの外部のリソースへのリンクを含む。一部の実施形態では、外部リンクは、アプリケーションサーバとは異なるドメイン名を有するリンクである。一部の実施形態では、外部リンクは、アプリケーションサーバの所有者と同じウェブサイトグループにない（したがって、同じ運営管理コントロールを受けない）ウェブサイトへのリンクである。一部の実施形態では、外部リンクは、信頼できるソースからではないウェブページ又はウェブサイトへのリンクである。信頼できるソースは、合意済みの安全手順にしたがっている又はユーザ情報の保護及び適切な取扱いに関する指針が整っているウェブサイト又はホストである。信頼できるホスト、ウェブサイト、又はコンテンツに関するその他の基準も、発信元のウェブサイトと外部リソース、ホスト、又はウェブサイトとの間に信頼レベルを確立するために使用することができる。
【００２０】
コンテンツ作成ユーザによってコンテンツが入力された後、コンテンツを見ているユーザは、コンピュータ１０２上の又はインターネット接続可能デバイス１０４上のウェブブラウザでコンテンツを見ることができる。ユーザ入力コンテンツは、外部リンクを含んでいてよい。しかしながら、ユーザがウェブページ上で今見ている外部リンクは、コード化外部リンクである。ユーザ入力コンテンツを受信した後、アプリケーションサーバ１１０は、外部リンクをコード化する。一部の実施形態では、コンテンツを見ているどのユーザにとっても、コード化外部リンクは、元のリンクと同じに見えるが、ＵＲＬのターゲット又はアドレスは、コード化されている（例えば、リンクのテキストは同じであるが、ＵＲＬが指し示しているアドレスは異なる）。一部の実施形態では、コード化外部リンクのターゲットアドレスは、外部リンクサーバのドメインと、外部リンクをエンコーディング関数によってコード化した結果を含むコード化部分とを含むようにコード化されている。
【００２１】
ウェブページ上に見えている外部リンクに進みたいユーザは、コード化外部リンクを選択することができる。コード化リンクを求めるリクエストは、安全性決定のための処理を経るために、外部リンクサーバ１２０に進む。外部リンクサーバ１２０は、外部リンクの処理を促すために提供されている。外部リンクサーバ１２０は、外部リンクの安全性を決定し、外部リンクの安全性レベルを返す。一部の実施形態において、外部リンクサーバ１２０が、外部リンクの安全性レベルを安全であると決定すると、外部リンクサーバは、ユーザを外部リンクのターゲットに自動的にリダイレクトする。一部の実施形態において、外部リンクサーバ１２０が、外部リンクの安全性レベルを安全でないと決定すると、外部リンクサーバは、外部リンクの安全性レベルに関する警告メッセージを送信する。一部の実施形態において、外部リンクが安全でも安全でなくもない場合、安全性レベルは、未知であると決定され、外部リンクサーバは、警告メッセージを送信し、外部リンクへのハイパーリンクを含める。
【００２２】
外部リンクサーバ１２０は、外部リンクの安全性チェックを提供する。アプリケーションサーバ１１０は、ウェブページ及びサービスを提供し、外部リンクをコード化する。アプリケーションサーバ１１０及び外部リンクサーバ１２０は、ウェブサーバでもあってよい。一部の実施形態では、外部リンクサーバ１２０及びアプリケーションサーバ１１０は、同じネットワーク、クラウド、ホストのなかの異なるデバイス上で、又は異なるネットワーク上で動作している異なるサーバである。一部の実施形態では、外部リンクサーバ１２０及びアプリケーションサーバ１１０は、同じデバイス上で、異なるプロセス、スレッド、又はサービスとして動作する。
【００２３】
一部の実施形態では、外部リンクサーバは、アプリケーションサーバ（例えばアプリケーションサーバ１１０）又はウェブサーバによって提供される様々に異なるタイプのネットワークコンテンツのなかのリンクからのコード化外部リンクにアクセスするためのユーザリクエストを受信する。一部の実施形態では、アプリケーションサーバは、インスタントメッセージング（ＩＭ）サービスを提供し、送信元ユーザによって入力された外部リンクをコード化し、外部リンクサーバは、ＩＭクライアント上に表示されたコード化外部リンクを通じて外部リンク安全性チェックリクエストを受信する。一部の実施形態では、送信元ユーザ又は受信先ユーザのデバイス上のＩＭクライアントが、外部リンクをコード化し、該コード化外部リンクは、安全性チェックのために、外部リンクサーバに向かう。例えば、アプリケーションサーバによって提供されるインスタントメッセージングサービスを通じて別のユーザとやり取りしている送信元ユーザが、外部リンクであるリンクを伴うＩＭを送信する。アプリケーションサーバは、リンクを、それが外部リンクである場合にはコード化し、該コード化リンクを伴うＩＭを受信先ユーザに送信する。受信先ユーザは、コード化外部リンクをクリックし、リクエストは、外部リンクサーバに向かわされ、外部リンクサーバは、外部リンクに対して安全性チェックを実施して結果を返す。外部リンクサーバは、安全性チェックの結果に応じて、受信先ユーザを外部リンクにリダイレクトする、又は受信先ユーザに警告メッセージを送信する。
【００２４】
図２は、外部リンクをコード化外部リンクに変換するアプリケーションサーバの一実施形態を示すブロック図である。アプリケーションサーバ２００は、少なくとも、インターフェース２１０と、１つ以上のプロセッサと、メモリとを含む。一部の実施形態では、アプリケーションサーバ２００は、更に、外部リンク識別要素２１２と、外部リンクエンコーダ２１４とを含む。一部の実施形態では、インターフェース２１０は、ユーザによって入力された、外部リンクを含むかもしれないコンテンツを受信する。一部の実施形態では、外部リンク識別要素２１２は、ユーザ入力コンテンツの外部のリンクを識別する。一部の実施形態では、外部リンクエンコーダ２１４は、識別された外部リンクをコード化し、元の外部リンクをコード化外部リンクに変換する。
【００２５】
図３は、外部リンクを処理する外部リンクサーバの一実施形態を示すブロック図である。外部リンクサーバ３００は、少なくとも、インターフェース３１０と、ストレージエリア３２０と、１つ以上のプロセッサとを含む。一部の実施形態では、外部リンクサーバ３００は、更に、外部リンクデコーダ３１２と、外部リンク安全性チェッカ３１４と、安全性チェックログクリエータ３１６と、基準アップデータ３１８とを含む。一部の実施形態では、インターフェース３１０は、コード化外部リンクにアクセスするためのユーザリクエストを受信する。一部の実施形態では、外部リンクデコーダ３１２は、元の外部リンクを得るために、コード化外部リンクをデコードする。一部の実施形態では、外部リンク安全性チェッカ３１４は、安全性レベルを決定するために、外部リンクの安全性チェックを実施する。一部の実施形態では、外部リンク安全性チェッカ３１４は、安全性チェックの結果を返すこともする。一部の実施形態では、安全性チェックログクリエータ３１６は、外部リンク安全性チェッカ３１４の活動のログを作成する。一部の実施形態では、基準アップデータ３１８は、安全性レベルの決定に使用される基準をアップデートする。一部の実施形態では、ストレージエリア３２０は、基準、ホワイトリスト、ブラックリスト、又は安全性チェックログのうちの１つ以上を含む。一部の実施形態では、基準、ホワイトリスト、ブラックリスト、及び安全性チェックログは、外部リンクサーバと通信している別のストレージエリアに（例えば、データベースやリモートストレージなどに）記憶される。
【００２６】
図１、図２、及び図３で説明されているシステムは、パソコン、サーバコンピュータ、ハンドヘルドのすなわち携帯用のデバイス、フラットパネルデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電子デバイス、ネットワークＰＣ、ミニコンピュータ、大型コンピュータ、特殊用途向けデバイス、上記の任意のシステム若しくはデバイスを含む分散コンピューティング環境、又は１つ以上のプロセッサと該プロセッサにつながれたメモリとを含み該プロセッサに命令を提供するように構成されたその他のハードウェア／ソフトウェア／ファームウェアの組み合わせなどの、１つ以上のコンピューティングデバイスを使用して実装されてよい。
【００２７】
上述されたユニット又はコンポーネントは、１つ以上の汎用プロセッサ上で実行されるソフトウェアコンポーネントとして、プログラム可能なロジックデバイス及び／若しくは特定の機能を実施するように設計された特殊用途向け集積回路などのハードウェアとして、又はそれらの組み合わせとして実装することができる。一部の実施形態では、ユニット又はコンポーネントは、本発明の実施形態で説明される方法を（パソコン、サーバ、ネットワーク機器などの）コンピュータデバイスに実行させるための命令を含み尚且つ（光ディスク、フラッシュストレージデバイス、モバイルハードディスクなどの）不揮発性のストレージ媒体に記憶させることができるソフトウェア製品の形で具現化することができる。ユニット又はコンポーネントは、１つのデバイスに実装されてよい、又は複数のデバイスに分散されてよい。ユニット又はコンポーネントの機能は、互いに合体されてよい、又は複数のサブモジュールに更に分けられてよい。
【００２８】
図４は、外部リンクをコード化外部リンクに変換する方法を示すフローチャートである。プロセス４００は、図１のアプリケーションサーバ１１０又は図２のアプリケーションサーバ２００によって実施することができる。ステップ４１０では、ユーザ入力コンテンツが受信される。ユーザは、リンク、外部リンク、又は内部リンクを含むかもしれないコンテンツを入力する。一部の実施形態では、ユーザ入力コンテンツは、次いで、記憶される。一部の実施形態では、ユーザ入力コンテンツは、ユーザ入力コンテンツのために働くアプリケーションサーバ上に記憶される。一部の実施形態では、ユーザ入力コンテンツは、アプリケーションサーバと通信しているローカル又はリモートのストレージエリア（例えば、データベースやストレージデバイス）に記憶される。一部の実施形態では、アプリケーションサーバは、ＩＭサーバであり、ユーザ入力コンテンツは、記憶され、受信先ユーザクライアントに送信される。
【００２９】
ステップ４１２では、外部リンクが識別される。一部の実施形態では、ユーザ入力コンテンツがスキャンされ、全てのリンクが抽出される。一部の実施形態では、ユーザ入力コンテンツがパースされ、全てのリンクが抽出される。一部の実施形態では、リンクは、ＨＴＭＬ（ハイパーテキストマークアップ言語）タグのなかの「href」属性を使用して抽出される。一部の実施形態では、リンクは、「<a>」HTMLタグを使用して抽出され、ハイパーリンクHTMLタグ（すなわち、<a>HTMLタグ）は、リンクのアドレス又はターゲットを指定するその他の値及び属性を含む。一部の実施形態では、リンクは、ユーザ入力コンテンツのなかの文字列「http://」又は「www」によって抽出される。当業者に知られるように、その他のリンク識別方法も使用することができる。
【００３０】
一部の実施形態では、抽出されたリンクは、外部であるか又は外部でないか決定される。外部リンクは、リンクのターゲットアドレスを含み、抽出されたリンクは、リンクのターゲットアドレスに基づいて、外部であるか又はそうでないか分類される。一部の実施形態では、抽出されたリンクは、アプリケーションサーバの外部のリソースへのリンクを含む外部リンクであると決定される。一部の実施形態では、外部リンクは、アプリケーションサーバとは異なるドメイン名を有するリンクである。例えば、ユーザ入力コンテンツから抽出されドメイン名「www.alibaba.com」を有さないリンクは、全て、外部であると見なされる。一部の実施形態では、外部リンクは、アプリケーションサーバの所有者と同じウェブサイトグループにないウェブサイトへのリンクである。例えば、ウェブサイト及びアプリケーションサーバの所有者が、ドメインhttp://www.alibaba.com.cnを運営し、また、別のウェブサイトhttp://www.taobao.com.cnに対してもコントロールを有するならば、これらの両ウェブサイトは、同じグループ内にあり、内部であると見なされ、その一方で、その他のドメインへのリンクは、外部であると見なされる。一部の実施形態では、外部リンクは、信頼できるソースのリストからではないウェブページ又はウェブサイトへのリンクである。
【００３１】
ステップ４１４では、外部リンクは、コード化される。ユーザ入力コンテンツからの、外部であると識別されたリンク（コード化される前の状態を示すために、元の外部リンクとも呼ばれる）は、エンコーディング関数を使用してコード化される。エンコーディング関数は、元の外部リンクを隠すために、元の外部リンクをユーザによって容易に認識可能でない文字列に変える働きをする。コード化外部リンクは、次いで、外部リンクサーバ（例えば、図１の外部リンクサーバ１２０又は図３の外部リンクサーバ３００）のドメイン名にアペンドされる。したがって、外部リンクは、外部リンクサーバがその外部リンクの処理を行うことができるように、外部リンクサーバにルーティングされる。一部の実施形態では、コード化外部リンクは、外部リンク処理サーバを指し示しているリンクのなかに、パラメータとして追加される。
【００３２】
一部の実施形態では、エンコーディング関数は、Base62エンコーディング関数である。Base62エンコーディング関数は、文字列又は値の入力を受けて、別のベースに変換された入力を返す。Base62エンコーディング関数の出力は、入力とは異なり、入力ごとに固有である。一部の実施形態では、外部リンクの少なくとも一部分が、Base62エンコーディング関数によってコード化される。例えば、元の外部リンクが「http://www.example.com/home.html」であり、Base62エンコーディング関数に入力されると、出力は、「d3d3LmV4YW1wbGUuY29tL2hvbWUuaHRtbA==」であり、外部リンクサーバのドメイン名にアペンドされる。例えば、外部リンクサーバのドメイン名が、extlinksvr35.alibaba.comである場合には、結果得られるコード化外部リンクは、「http://extlinksvr35.alibaba.com/d3d3LmV4YW1wbGUuY29tL2hvbWUuaHRtbA==」である。したがって、外部リンクのターゲットを求めるhttpリクエストが、ネットワークを通じて送信されたとき、それは、外部リンクサーバにおいて解決される。一部の実施形態では、コード化外部リンクは、外部リンクサーバへのターゲットと、パラメータとして（例えばＵＲＬクエリ文字列に）追加された外部リンクのコード化部分とによって形成される。同じ外部リンクを例として使用すると、コード化外部リンクは、「http://extlinksvr35.alibaba.com/check.cgi?url=d3d3LmV4YW1wbGUuY29tL2hvbWUuaHRtbA==」になるだろう。元の外部リンクを認識不可能な文字列にコード化するために、その他のエンコーディング関数を使用することもできる。一部の実施形態では、Base64エンコーディング関数が使用される。
【００３３】
一部の実施形態では、外部リンクは、ユーザがユーザ入力コンテンツを見ることをリクエストしたときにのみ識別及びコード化される。例えば、外部リンクを含むユーザ入力コンテンツは、ユーザによって最初に入力された状態で、アプリケーションサーバに記憶される。その外部リンクを含むページを見ることをユーザ又は別のユーザがリクエストしたときに、アプリケーションサーバは、ページビューのためのウェブサイトの生成に際して外部リンクを識別及びコード化する。一部の実施形態では、アプリケーションサーバは、ページが作成され見られるたびに、外部リンクを識別及びコード化する。一部の実施形態では、アプリケーションサーバは、外部リンクの識別及びコード化を１回行って、その外部リンクをその後の全てのページビューのためにコード化外部リンクとして記憶させる。一部の実施形態では、外部リンクは、ユーザがユーザコンテンツを入力したすぐ後にコード化外部リンクに変換され、外部リンクを含むユーザ入力コンテンツをコード化外部リンクとして記憶させる。
【００３４】
ユーザ入力コンテンツを見ているユーザには、外部リンクが見えるが、それらの外部リンクは、コード化外部リンクに置換されている。一部の実施形態では、ユーザは、ウェブページにおいて外部リンクを見ており、コード化外部リンクは、ユーザ入力コンテンツを見ているユーザには同じに見える。例えば、マーケットウェブサイト上の販売者が、販売されている電子機器商品用に、「技術仕様を見る」というラベルを伴うリンクを入力する。当該リンクは、その電子機器商品の技術仕様を伴うメーカウェブページなどの外部ウェブページへのターゲットアドレス又は宛先アドレスも含む。マーケットウェブサイト上で商品の説明を見ている購入者には、「技術仕様を見る」というリンクが見えるが、外部リンクのターゲットは、コード化外部リンクで置換されており、安全性チェックのために外部リンクサーバにリンクしている。同様に、ＩＭアプリケーションでは、送信元ユーザが、受信先ユーザに送信される外部リンクを入力するが、受信先ユーザには、そのリンクが、コード化されたリンクとして見えている。例えば、送信元ユーザが、オンラインフォトアルバムへのリンクを有するインスタントメッセージを、テキスト「フォトアルバムを見る」及び宛先アドレス「http://www.photos.com/myphotoalbum」とともに送信したとする。アプリケーションサーバ又はＩＭクライアントは、外部リンクをコード化し、やはり「フォトアルバムを見る」とは言っているがターゲットアドレスをコード化外部リンク（例えばhttp://extlinksvr35.alibaba.com/d3d3LnBob3Rvcy5jb20vbXlwaG90b2FsYnVt）に置換された外部リンクを伴うＩＭメッセージを送信する。一部の実施形態では、コード化外部リンクは、ユーザ入力コンテンツを見ているユーザには異なって見える。例えば、ユーザによって入力された外部リンクhttp://www.photos.com/myphotoalbumは、http://extlinksvr35.alibaba.com/d3d3LnBob3Rvcy5jb20vbXlwaG90b2FsYnVtに置換され、ユーザ入力コンテンツを見ているユーザには、代わりにこのコード化リンクが見える。
【００３５】
図５は、安全性レベルにしたがって外部リンクを処理する方法を示すフローチャートである。プロセス５００は、図１の外部リンクサーバ１２０又は図３の外部リンクサーバ３００によって実施することができる。ステップ５１０では、外部リンクにアクセスするためのユーザリクエストが受信される。ウェブサイトを見ているユーザには、幾つかの外部リンクを見せることができる。例えば、商品の説明を示しているウェブページは、メーカのウェブサイト上の技術仕様への外部リンク、商品の格付けを提供する第三者ウェブサービスにリンクしたボタン、又は販売者自身のオンライン店舗のトップページにリンクしたボタンを含んでいてよい。一部の実施形態では、１つ以上の外部リンクが、コード化されている。ユーザは、コード化外部リンクをクリックすることを選ぶことができ、すると、処理のために、外部リンクサーバにリクエストが送信される。同様に、例えばＩＭクライアントでは、受信先ユーザは、外部リンクを見て、コード化されたその外部リンクをクリックすることを選ぶことができる。一部の実施形態では、コード化外部リンクのクリックは、ブラウザウィンドウのなかに、外部リンクサーバによるhttpリクエストの実行を待機する新しいウィンドウを開く。ステップ５１２では、同じエンコーディング関数を使用して、コード化外部リンクを含むリクエストがデコードされる。例えば、アプリケーションサーバが、Base62エンコーディングによって元の外部リンクをコード化すると、外部リンクサーバは、元の外部リンクを得るために、コード化外部リンクのコード化部分をデコードする。外部リンクデコーダは、外部リンクのコード化に使用されたエンコーディング関数を知っている。
【００３６】
ステップ５１４では、外部リンクの安全性レベルが決定される。安全性レベルは、外部リンクを基準と比較することによって決定される。基準は、ホワイトリスト、ブラックリスト、又はその両方を含む。一部の実施形態では、元の外部リンクが基準と比較される。一部の実施形態では、コード化外部リンクを基準と比較することもできる。
【００３７】
一部の実施形態では、基準は、ブラックリストを含む。ブラックリストは、発信元ウェッブサイト（すなわち、アプリケーションサーバの所有者又は発信元ウェブサイトの所有者）が信頼するに値しないと見なしたウェブサイト又は外部リソースを含む。例えば、ブラックリストは、フィッシングウェブサイトであることを知られるウェブサイト、ユーザコンピュータ及びクライアントを攻撃するウェブサイト、ワーム及びウィルスをばらまくウェブサイト、又はユーザ情報を悪用するウェブサイトを含む。ブラックリストは、また、インターネット安全性規格を満たしていないウェブサイトも含むことができる。ウェブサービス、ウェブアプリケーション、又は外部リソースのＵＲＬアドレス若しくは該ＵＲＬアドレスの一部を使用した特定のスクリプトなどのその他の外部リソースもまた、ブラックリストに含めることができる。
【００３８】
一部の実施形態では、基準は、ホワイトリストを含む。ホワイトリストは、信頼できるサイトのリストを含む。一部の実施形態では、信頼できるウェブサイトは、安全性手順又は安全性規格に合意済みのサイトである。一部の実施形態では、ホワイトリストは、内部ウェブサイト（例えば、アプリケーションサーバと同じグループに属すると見なされるウェブサイト）であるとも見なされるウェブサイトを含む。一部の実施形態では、ホワイトリストは、（信頼に値すると見なされる）内部ウェブサイトに追加して、信頼に値する外部ウェブサイトも含む。一部の実施形態では、ホワイトリストは、信頼に値する全てのウェブサイト又は信頼に値すると既に決定された全てのウェブサイトを含む。安全性チェックサービスを提供する外部リンクサーバは、外部ウェブサイトと内部ウェブサイトとの違いを知る必要はないが、外部リンクサーバに向けられた全てのリンクに対して安全性チェックを実行する。内部ウェブサイトは、どのリンクをコード化するか（そして外部リンクサーバに向かわせるか）をアプリケーションサーバが選ぶ際に、フィルタにかけられて除外されると考えることができる。
【００３９】
リストは、ホワイトリストであれブラックリストであれ、総合アドレス（例えばドメイン名）、又は特定アドレス（例えばＵＲＬアドレス若しくはＩＰアドレス）、又はウェブサイト、ウェブホスト、ウェブページ、ウェブサービス、ウェブアプリケーション、及びその他の様々なネットワークコンテンツを識別する任意の適切な形式を含む。
【００４０】
基準を使用して、安全性レベルが決定される。安全性レベルは、安全、安全でない、又は未知を含む。一部の実施形態では、外部リンクは、ブラックリストと比較される。外部リンクがブラックリストのなかで見つかると、その外部リンクは、安全でないと見なされる。ステップ５１６において、外部リンクが安全でないと決定されると、警告メッセージが生成され、ユーザに送信される。一部の実施形態では、ユーザに送信される警告メッセージは、外部リンクが安全でない旨のメッセージを含む。例えば、マーケットウェブサイト上で商品の説明に関する外部リンクをユーザがクリックすると、新しいウィンドウが開き、外部リンクサーバは、「クリックしたリンクは安全ではありません」という警告メッセージを表示するページを返し、ブラックリストに載っているウェブサイトにユーザが直接進むことを阻止する。一部の実施形態では、警告メッセージは、元の外部リンクを出力しないメッセージであり、したがって、ユーザが外部リンクの元の宛先を知ることも更に阻止する。一部の実施形態では、ユーザに送信される警告メッセージは、リンクが安全でない旨の警告メッセージを構成するとともに、プレーンテキスト形式に変換された外部リンク（すなわち、元の外部リンク）も含む。安全でないハイパーリンクをプレーンテキストに変換することによって、安全でない外部リンクにユーザが直接進むことが阻止される（言い換えると、ユーザは、安全でない外部リンクを単にクリックするだけではそのリンクに進むことはできない）。尚もその外部リンクに進みたい場合には、ユーザは、プレーンテキストリンクを手動でコピーして、ウェブブラウザのアドレスバーに貼り付けることができる。一部の実施形態では、外部リンクが安全でないと決定された場合に、警告メッセージは送信されず、ユーザは、安全でない外部リンクに進むことを阻止される。例えば、その外部リンクをユーザがクリックすると、別のウィンドウがポップアップするが、外部リンクサーバがその外部リンクを安全でないと決定した後は、そのポップアップウィンドウには何も返されない。安全でない外部リンクは、リンク切れのように振る舞う。ウェブページのソース、又はひいてはポップアップウィンドウのアドレスバーのなかのＵＲＬですらコード化外部リンクであるので、ユーザは、安全でない元の外部リンクのアドレスについて知ることを阻止される。
【００４１】
一部の実施形態では、外部リンクは、ホワイトリストと比較される。外部リンクがホワイトリストのなかで見つかると、その外部リンクは、安全であると見なされる。ステップ５１８において、外部リンクが安全であると決定されると、ユーザは、その外部リンク（すなわち、元の外部リンクのターゲット）にリダイレクトされる。
【００４２】
一部の実施形態では、外部リンクは、ホワイトリストに照らしてのみチェックされる。そして、ホワイトリストに載っていないあらゆる外部リンクが安全でないと見なされる。一部の実施形態では、外部リンクは、ブラックリストに照らしてのみチェックされ、ブラックリストに載っていないあらゆる外部リンクが安全であると見なされる。一部の実施形態では、外部リンクは、ホワイトリスト及びブラックリストに照らしてチェックされる。外部リンクがホワイトリストにもブラックリストにも載っていない場合、その外部リンクの安全性レベルは、未知であると決定される。ステップ５１６において、外部リンクが未知であると決定されると、ユーザに警告メッセージが送信される。一部の実施形態では、警告メッセージは、リンクの安全性決定に関するメッセージと、その外部リンクへのハイパーリンク（すなわち、元の外部リンク）とを含む。一部の実施形態では、警告メッセージは、未知の外部リンクが危険かもしれないことを説明した言葉を含む。したがって、ユーザは、安全性が未知であると決定された外部リンクに進むことによって被るかもしれない危険について知らされる。一部の実施形態では、外部リンクは、ブラックリストの前にホワイトリストに照らしてチェックされ、ユーザは、より速く安全な外部リンクに進むことができる。
【００４３】
ホワイトリスト又はブラックリストは、総合アドレス（例えばドメイン名）又は特定アドレス（例えばＵＲＬアドレス若しくはＩＰアドレス）を含む。一部の実施形態では、外部リンクをブラックリスト又はホワイトリストと比較することは、リスト上の特定アドレスの一部分と照合することを含む。一部の実施形態では、外部リンクをリストと比較して安全性レベルを決定するときに、リスト上のアドレスのドメインのみと照合する照合ルールが使用される。一部の実施形態では、外部リンクをリスト上の総合アドレス（例えばドメイン名）と照合する照合ルールが使用される。一部の実施形態では、外部リンクは、総合リストと照合された後に、特定アドレスと比較される。リストにおける検索パターン又は照合パターンを指定した照合ルールを使用することもできる。
【００４４】
図６は、安全性チェック基準を維持する方法を示すフローチャートである。プロセス６００は、図１の外部リンクサーバ１２０又は図３の外部リンクサーバ３００によって実施することができる。ステップ６１０では、図５で説明された方法のように、安全性レベルにしたがって外部リンクが処理される。ステップ６１２では、外部リンク処理の結果から安全性チェックログが作成され、記憶される。一部の実施形態では、安全性チェックログは、処理された外部リンク（例えば、元の外部リンク又はコード化された外部リンク）と、安全性レベルの決定の結果とを含む。例えば、安全性チェックログは、元の外部リンク「http://www.example.com/home.html」と、その外部リンクが安全であると決定された旨とを含む。一部の実施形態では、安全性チェックログは、どのリストが外部リンクと照合されたか又は照合されなかったかも含む。安全性チェックログは、また、タイムスタンプ、インデックス、識別子、又はその他の任意の関連情報も含むことができる。
【００４５】
ステップ６１４では、安全性チェック基準がアップデートされる。一部の実施形態では、ホワイトリスト、ブラックリスト、又はその他のタイプの基準を含む安全性チェック基準がアップデートされる。一部の実施形態では、安全性チェック基準は、一定の時間間隔でアップデートされる。一部の実施形態では、安全性チェック基準は、安全性チェックログに対してなされた解析にしたがってアップデートされる。一部の実施形態では、外部リンクサーバは、安全性チェックログを解析し、それにしたがって、ホワイトリスト又はブラックリスト又はその両方をアップデートする。一部の実施形態では、安全性チェックログは、重複を排除される（重複されない）。言い換えると、同じ外部リンクを多数回記録する代わりに、外部リンクは、最新の解析にしたがって１回記録される。一部の実施形態では、外部リンクが処理された回数のカウントが保持される。一部の実施形態では、重複の排除は、ログの決定及び記録の時点でなされる。一部の実施形態では、重複の排除は、安全性チェックログの解析の時点でなされる。一部の実施形態では、外部リンクサーバは、ブラックリスト及びホワイトリストを、それらのリストに対してアドレスの追加又は排除を行うことによってアップデートする。一部の実施形態では、外部リンクサーバは、外部リンクをブラックリスト又はホワイトリストと照合するための照合ルールをアップデートする。
【００４６】
一部の実施形態では、安全性チェック基準は、第三者から得られた安全性情報を使用してアップデートされる。例えば、ウィルスデータベースが一定の時間間隔でダウンロードされ、ブラックリスト又はホワイトリストがアップデートされる。一部の実施形態では、第三者が、アップデートされたホワイトリスト及びブラックリストを提供する。一部の実施形態では、ホワイトリスト又はブラックリストは、インターネット安全機関から得られたインターネット安全性情報にしたがってアップデートされる。一部の実施形態では、ホワイトリスト又はブラックリストは、安全でない又は安全であることをユーザによって発見された外部リンクに関するユーザレポートにしたがってアップデートされる。したがって、定期的に、安全でないと一度決定された（すなわち、ブラックリストに載っている）ウェブサイト又は外部リソースが再び優良であるとの評価を得てホワイトリストに載る可能性があり、逆もまた同様である。
【００４７】
以上の実施形態は、理解を明瞭にする目的で、幾らか詳細に説明されてきたが、本発明は、与えられた詳細に限定されない。本発明を実現するには、多くの代替的手法がある。開示された実施形態は、例示的なものであり、非限定的である。
適用例１：外部リンク処理のためのシステムであって、ネットワークコンテンツの中のコード化外部リンクにアクセスするためのユーザリクエストを受信するように構成されているインターフェースと、前記コード化外部リンクは、外部リンクサーバのドメイン名と、外部の宛先へのアドレスである元の外部リンクをエンコーディング関数によってコード化したコード化結果を含むコード化部分と、を含み、前記インターフェースに接続されている１つ以上のプロセッサであって、基準を使用して前記コード化外部リンクの安全性レベルを決定し、前記コード化外部リンクの前記決定された安全性レベルが安全でないと決定された場合は、前記元の外部リンクが安全でない旨の警告メッセージを生成し、前記ユーザが前記元の外部リンクに直接進むことを阻止するように構成されている１つ以上のプロセッサと、前記１つ以上のプロセッサに接続され、前記１つ以上のプロセッサに命令を提供するように構成されている１つ以上のメモリと、を備える、システム。
適用例２：適用例１に記載のシステムであって、前記警告メッセージを生成することは、前記元の外部リンクを含めることなく前記警告メッセージを生成することを含む、システム。
適用例３：適用例１に記載のシステムであって、前記警告メッセージを生成することは、前記元の外部リンクをプレーンテキストに変換することを含む、システム。
適用例４：適用例１に記載のシステムであって、前記コード化外部リンクの前記決定された安全性レベルが安全であると決定された場合は、前記ユーザを前記元の外部リンクの前記宛先にリダイレクトする、システム。
適用例５：適用例１に記載のシステムであって、前記コード化外部リンクの前記決定された安全性レベルが未知であると決定された場合は、警告メッセージを生成することは、前記外部リンクの安全性レベルが未知である旨のメッセージを生成し、前記元の外部リンクを含むリンクを出力することを含む、システム。
適用例６：適用例１に記載のシステムであって、前記コード化外部リンクの前記決定された安全性レベルが未知であると決定された場合は、警告メッセージを生成することは、前記外部リンクの安全性レベルが未知である旨のメッセージを生成し、前記元の外部リンクをプレーンテキストに変換することを含む、システム。
適用例７：適用例１に記載のシステムであって、前記１つ以上のプロセッサは、更に、前記元の外部リンクを受信するために前記コード化外部リンクをデコードするように構成されている、システム。
適用例８：適用例１に記載のシステムであって、基準を使用して前記コード化外部リンクの安全性レベルを決定することは、前記元の外部リンクをブラックリストに照らしてチェックすることを含む、システム。
適用例９：適用例８に記載のシステムであって、前記元の外部リンクが前記ブラックリストに載っている場合は、前記決定された安全性レベルは安全でない、システム。
適用例１０：適用例１に記載のシステムであって、基準を使用して前記コード化外部リンクの安全性レベルを決定することは、前記元の外部リンクをホワイトリストに照らしてチェックすることを含む、システム。
適用例１１：適用例１０に記載のシステムであって、前記元の外部リンクが前記ホワイトリストに載っている場合は、前記安全性レベルは安全である、システム。
適用例１２：適用例１に記載のシステムであって、基準を使用して前記コード化外部リンクの安全性レベルを決定することは、前記元の外部リンクをホワイトリスト及びブラックリストに照らしてチェックすることを含む、システム。
適用例１３：適用例１２に記載のシステムであって、前記元の外部リンクが前記ホワイトリストにも前記ブラックリストにも載っていない場合は、前記安全性レベルは未知である、システム。
適用例１４：適用例１に記載のシステムであって、前記１つ以上のプロセッサは、更に、前記コード化外部リンクの前記決定された安全性レベルと、前記元の外部リンクとを含む安全性チェックログを作成するように構成されている、システム。
適用例１５：適用例１４に記載のシステムであって、前記安全性チェックログは、重複を排除される、システム。
適用例１６：適用例１４に記載のシステムであって、前記１つ以上のプロセッサは、更に、前記安全性チェックログを一定の時間間隔で解析するように構成されている、システム。
適用例１７：適用例１４に記載のシステムであって、前記１つ以上のプロセッサは、更に、前記基準を前記安全性チェックログの解析に基づいてアップデートするように構成されている、システム。
適用例１８：適用例１に記載のシステムであって、前記１つ以上のプロセッサは、更に、前記基準を第三者からの安全性情報に基づいてアップデートするように構成されている、システム。
適用例１９：外部リンクを処理する方法であって、ネットワークコンテンツのなかのコード化外部リンクにアクセスするためのユーザリクエストを受信し、前記コード化外部リンクは、外部リンクサーバのドメイン名と、外部の宛先へのアドレスである元の外部リンクをエンコーディング関数によってコード化したコード化結果を含むコード化部分とを含み、基準を使用して前記コード化外部リンクの安全性レベルを決定し、前記コード化外部リンクの前記決定された安全性レベルが安全でないと決定された場合は、前記元の外部リンクが安全でない旨の警告メッセージを生成し、前記ユーザが前記元の外部リンクに直接進むことを阻止すること、を備える方法。
適用例２０：非一時的なコンピュータ読み取り可能ストレージ媒体に実装された、外部リンクを処理するためのコンピュータプログラム製品であって、ネットワークコンテンツのなかのコード化外部リンクにアクセスするためのユーザリクエストを受信するためのコンピュータ命令と、前記コード化外部リンクは、外部リンクサーバのドメイン名と、外部の宛先へのアドレスである元の外部リンクをエンコーディング関数によってコード化したコード化結果を含むコード化部分と、を含み、基準を使用して前記コード化外部リンクの安全性レベルを決定するためのコンピュータ命令と、前記コード化外部リンクの前記決定された安全性レベルが安全でないと決定された場合は、前記元の外部リンクが安全でない旨の警告メッセージを生成し、前記ユーザが前記元の外部リンクに直接進むことを阻止するためのコンピュータ命令と、を備えるコンピュータプログラム製品。
【図１】
0005576999.tif 000002
【図２】
0005576999.tif 000003
【図３】
0005576999.tif 000004
【図４】
0005576999.tif 000005
【図５】
0005576999.tif 000006
【図６】
0005576999.tif 000007