Введение
Safe Browsing API позволяет проверить URL на наличие угроз. Список небезопасных интернет-ресурсов создан и поддерживается Яндексом. К небезопасным относятся, например, сайты с элементами социальной инженерии (фишинг и мошенничество) и сайты c вредоносным или нежелательным кодом.
Чтобы проверить безопасность ресурса, воспользуйтесь одним из интерфейсов:
- Lookup. Простой в использовании интерфейс. Требует проверки каждого адреса на сервере. Не поддерживает шифрование данных.
- Update. Интерфейс, требующий сложной реализации. Поддерживает высокую частоту запросов и малое время отклика. Данные, которыми вы обмениваетесь с сервером, зашифрованы.
Lookup
Позволяет проверить URL, отправив запрос на сервер Yandex Safe Browsing.
Преимущества
- Простая проверка адреса. Отправьте запрос с перечнем адресов — сервер ответит, безопасен ли каждый из них.
Недостатки
- Отсутствие конфиденциальности. URL передается в незашифрованном виде. Сервер знает, какие адреса пришли от пользователя на проверку.
- Неопределенное время отклика. Каждый запрос обрабатывается сервером. Время отклика не гарантируется.
Если у вас нет требований к конфиденциальности данных и времени отклика, используйте интерфейс Lookup.
Update
Интерфейс Update позволяет скачать зашифрованную копию списков Safe Browsing и проверять в ней адреса. Поддерживает высокую частоту запросов и малое время отклика. Используется браузерами и платформами для защиты большого числа пользователей.
Преимущества
- Конфиденциальность. Запрос на сервер передается, только если URL обнаружен в локальной базе небезопасных адресов. URL зашифрован, и сервер не знает, какие именно адреса пришли на проверку.
- Время отклика. Локальная база представляет собой копию списков Safe Browsing, поэтому нет необходимости обращаться к серверу каждый раз для проверки адреса.
Недостатки
- Реализация. Необходимо скачать и периодически обновлять копию списков Safe Browsing (представлены в виде хэшей SHA256 переменной длины).
- Сложная проверка адреса. URL нужно привести к канонической форме, создать несколько выражений для хоста и пути и вычислить хэш SHA256 (для сравнения локальной копии со списком, хранящимся на сервере).
Если вам важна конфиденциальность данных и время отклика, используйте интерфейс Update.