概要
Lookup API を使用すると、クライアント アプリケーションからセーフ ブラウジングにリクエストを送信できます。 をチェックして、その URL がセーフ ブラウジング リストに含まれているかどうかを確認します。1 つまたは複数のコンテナで URL が見つかった場合 その他のリストの場合は、一致する情報が返されます。
URL の確認
URL がセーフ ブラウジング リストに含まれているかどうかを確認するには、HTTP POST
リクエストを
threatMatches.find
メソッド:
- HTTP
POST
リクエストには、最大 500 個の URL を含めることができます。有効な URL を入力してください (RFC 2396 を参照)。 正規化またはエンコードする必要はありません。 - HTTP
POST
レスポンスは、一致する URL とキャッシュの期間を返します。
例: threatMatches.find
HTTP POST リクエスト
次の例では、2 つのセーフ ブラウジング リストと 3 つの URL がサーバーに送信され、 一致の有無を判断します。
リクエスト ヘッダー
リクエスト ヘッダーには、リクエスト URL とコンテンツ タイプが含まれます。以下を置き換えてください。
URL の API_KEY
の API キー。
POST https://safebrowsing.googleapis.com/v4/threatMatches:find?key=API_KEY HTTP/1.1 Content-Type: application/json
リクエスト本文
リクエストの本文には、クライアント情報(ID とバージョン)と脅威情報が含まれる (リスト名と URL)。詳しくは、 threatMatches.find リクエスト本文 コードサンプルに続く説明を確認します
{ "client": { "clientId": "yourcompanyname", "clientVersion": "1.5.2" }, "threatInfo": { "threatTypes": ["MALWARE", "SOCIAL_ENGINEERING"], "platformTypes": ["WINDOWS"], "threatEntryTypes": ["URL"], "threatEntries": [ {"url": "http://www.urltocheck1.org/"}, {"url": "http://www.urltocheck2.org/"}, {"url": "http://www.urltocheck3.com/"} ] } }
クライアント情報
clientID
フィールドと clientVersion
フィールドは、クライアント実装を一意に識別する必要があります。
できます。(クライアント情報は、サーバーサイドのロギングとアカウンティングに使用されます。以下を選択できます。
クライアント ID には任意の名前を付けることができますが、実際の ID を表す名前を選択することをおすすめします。
(会社名などのクライアント名を 1 語で表記してすべて小文字で表記)
セーフ ブラウジング リスト
threatType
、platformType
、threatEntryType
フィールド
これらを組み合わせてセーフ ブラウジング リストを識別(名前)します。この例では、2 つのリストが特定されています。
MALWARE/WINDOWS/URL と SOCIAL_ENGINEERING/WINDOWS/URL の 2 種類があります。リクエストを送信する前に、Terraform が
指定した組み合わせが有効なものである(セーフ ブラウジング リストをご覧ください)。
脅威 URL
この例では、threatEntries
配列に 3 つの URL(urltocheck1.org、urltocheck2.org、
urltocheck3.org など)のリストが照合され、2 つのセーフ ブラウジング リストと照合されます。
注: Lookup API と threatMatches
メソッドでは常に URL
フィールドを使用する必要があります。
hash
フィールドはありません(ThreatEntry をご覧ください)。
HTTP POST レスポンス
次の例では、レスポンスは一致を返します。URL で指定された 3 つの URL のうちの 2 つ 2 つのセーフ ブラウジング リストのいずれかで検出されます。
レスポンス ヘッダー
レスポンス ヘッダーには、HTTP ステータス コードが含まれます。 コンテンツタイプを指定します
HTTP/1.1 200 OK Content-Type: application/json
レスポンスの本文
レスポンスの本文には一致情報(リスト名と、 メタデータ(利用可能な場合)、キャッシュ期間など)が含まれます。詳しくは、 threatMatches.find レスポンス本文 コードサンプルに続く説明を確認します
注: 一致する URL がない場合(つまり、指定された URL のいずれもない場合)は、
含まれる場合、HTTP POST
レスポンス。
レスポンスの本文で空のオブジェクトを返します。
{ "matches": [{ "threatType": "MALWARE", "platformType": "WINDOWS", "threatEntryType": "URL", "threat": {"url": "http://www.urltocheck1.org/"}, "threatEntryMetadata": { "entries": [{ "key": "malware_threat_type", "value": "landing" }] }, "cacheDuration": "300.000s" }, { "threatType": "MALWARE", "platformType": "WINDOWS", "threatEntryType": "URL", "threat": {"url": "http://www.urltocheck2.org/"}, "threatEntryMetadata": { "entries": [{ "key": "malware_threat_type", "value": "landing" }] }, "cacheDuration": "300.000s" }] }
一致
matches
オブジェクトは、セーフ ブラウジング リストの名前と URL(
あります。この例では、2 つの URL(urltocheck1.org と urltocheck2.org)が次のいずれかで見つかりました。
セーフ ブラウジング リスト(マルウェア/Windows/URL)と一致すると、一致する情報が返されます。3 番目の URL
(urltocheck3.org)はいずれのリストでも見つからないため、この URL の情報は返されません。
メタデータ
threatEntryMetadata
フィールドは省略可能であり、次の追加情報を提供します。
脅威との一致を検出できます。現在、マルウェア/Windows/URL のセーフ ブラウジング リストについてメタデータを利用できます。
(メタデータをご覧ください)。
キャッシュ期間
cacheDuration
フィールドは、その URL が安全でないと判断される期間を示します。
(キャッシュ保存を参照)。