PHP проверяет URL сайта, используя безопасный просмотр API
Я пытаюсь проверить, безопасен ли URL-адрес или нет с помощью API безопасного просмотра Google.
Я следовал следующий урок
https://developers.google.com/safe-browsing/v4/get-started
Я выполнил следующий шаг в соответствии с указаниями выше.
- Получить аккаунт
- Создать проект
- Настройте ключ 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:
- Откройте API-интерфейс консоли разработчика Google.
- В раскрывающемся списке проекта выберите проект или создайте новый.
- На вкладке API Google найдите и выберите API безопасного просмотра, затем нажмите " Включить API".
- Далее в боковой панели слева выберите Учетные данные.
- Выберите раскрывающийся список " Создать учетные данные", затем выберите ключ API.
- В зависимости от вашего приложения, во всплывающем окне "Создать новый ключ" выберите " Ключ браузера" или " Ключ сервера".
- Введите имя для ключа, настройте дополнительные источники или 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;
}