PHP проверяет URL сайта, используя безопасный просмотр API

Я пытаюсь проверить, безопасен ли URL-адрес или нет с помощью API безопасного просмотра Google.

Я следовал следующий урок

https://developers.google.com/safe-browsing/v4/get-started

Я выполнил следующий шаг в соответствии с указаниями выше.

  1. Получить аккаунт
  2. Создать проект
  3. Настройте ключ API

наконец, я в конечном итоге с https://safebrowsing.googleapis.com/v4/...?key=API_KEY

мой вопрос, как я могу передать URL-адрес веб-сайта выше безопасного просмотра URL

2 ответа

Решение

Тело запроса для почтового запроса будет выглядеть так:

{
    "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/"}
      ]
    }
}

Как вы видите, вам нужно отправить URL в threatEntries раздел. Но вы передаете URL-адрес Google ( http://www.google.com/), вместо этого добавьте URL-адреса, которые необходимо проверить.

Самоочевидно, см.: url to check1.org ("http://www.urltocheck1.org/")

источник

Выполните следующие шаги, чтобы включить API и получить ключ API:

  1. Откройте API-интерфейс консоли разработчика Google.
  2. В раскрывающемся списке проекта выберите проект или создайте новый.
  3. На вкладке API Google найдите и выберите API безопасного просмотра, затем нажмите " Включить API".
  4. Далее в боковой панели слева выберите Учетные данные.
  5. Выберите раскрывающийся список " Создать учетные данные", затем выберите ключ API.
  6. В зависимости от вашего приложения, во всплывающем окне "Создать новый ключ" выберите " Ключ браузера" или " Ключ сервера".
  7. Введите имя для ключа, настройте дополнительные источники или IP-адреса, затем нажмите " Создать". Ваш ключ создан и отображается во всплывающем окне. Ключ также указан на странице "Учетные данные".

Вот код CURL 100% работает

curl -X POST \
  'https://safebrowsing.googleapis.com/v4/threatMatches:find?key=YOUR_KEY_HERE' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -H 'postman-token: ec7ffd77-d3fa-f017-44f9-d895efaba258' \
  -d '  {
    "client": {
      "clientId":      "yourcompanyname",
      "clientVersion": "1.5.2"
    },
    "threatInfo": {
      "threatTypes":      ["MALWARE", "SOCIAL_ENGINEERING"],
      "platformTypes":    ["WINDOWS"],
      "threatEntryTypes": ["URL"],
      "threatEntries": [
        {"url": "https://accounts-wallets.redirectme.net/webapps/57a39/websrc"},
        {"url": "http://stackru.com/"}


      ]
    }
  }'

Я получил вывод

{
    "matches": [
        {
            "threatType": "SOCIAL_ENGINEERING",
            "platformType": "WINDOWS",
            "threat": {
                "url": "https://accounts-wallets.redirectme.net/webapps/57a39/websrc"
            },
            "cacheDuration": "300s",
            "threatEntryType": "URL"
        }
    ]
}

Пример Python

import requests

url = "https://safebrowsing.googleapis.com/v4/threatMatches:find"

querystring = {"key":"YOUR_KEY"}

payload = """

  {
    "client": {
      "clientId":      "yourcompanyname",
      "clientVersion": "1.5.2"
    },
    "threatInfo": {
      "threatTypes":      ["MALWARE", "SOCIAL_ENGINEERING"],
      "platformTypes":    ["WINDOWS"],
      "threatEntryTypes": ["URL"],
      "threatEntries": [
        {"url": "https://accounts-wallets.redirectme.net/webapps/57a39/websrc"},
        {"url": "http://stackru.com/"}


      ]
    }
  }

"""
headers = {
    'content-type': "application/json",
    'cache-control': "no-cache",
    'postman-token': "460d6d44-4a55-d6ab-fb58-2ff9fb306154"
    }

response = requests.request("POST", url, data=payload, headers=headers, params=querystring)

print(response.text)

Пример PHP

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://safebrowsing.googleapis.com/v4/threatMatches:find?key=YOUR_KEY",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "  {
"client": {
  "clientId":      "yourcompanyname",
  "clientVersion": "1.5.2"
},
"threatInfo": {
  "threatTypes":      ["MALWARE", "SOCIAL_ENGINEERING"],
  "platformTypes":    ["WINDOWS"],
  "threatEntryTypes": ["URL"],
  "threatEntries": [
    {"url": "https://accounts-wallets.redirectme.net/webapps/57a39/websrc"},
    {"url": "http://stackru.com/"}


  ]
}
  }",
  CURLOPT_HTTPHEADER => array(
    "cache-control: no-cache",
    "content-type: application/json",
    "postman-token: b05b8d34-85f2-49cf-0f8e-03686a71e4e9"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
Другие вопросы по тегам