Найдите полные хеши, соответствующие указанным префиксам.
Это настраиваемый метод, как определено https://google.aip.dev/136 (настраиваемый метод относится к этому методу, имеющему настраиваемое имя в общей номенклатуре разработки API Google; он не относится к использованию настраиваемого метода HTTP).
HTTP-запрос
GET https://safebrowsing.googleapis.com/v5alpha1/hashes:search
URL-адрес использует синтаксис транскодирования gRPC .
Параметры запроса
Параметры | |
---|---|
hashPrefixes[] | Необходимый. Хэш-префиксы, которые необходимо найти. Клиенты НЕ ДОЛЖНЫ отправлять более 1000 хэш-префиксов. Однако после процедуры обработки URL-адреса клиентам НЕ ДОЛЖНО отправляться более 30 хэш-префиксов. В настоящее время длина каждого хеш-префикса должна составлять ровно 4 байта. В будущем это МОЖЕТ быть смягчено. Строка в кодировке Base64. |
filter | Необязательный. Если клиент заинтересован в фильтрации, например в извлечении только определенных видов угроз, это можно указать. Если этот параметр опущен, возвращаются все соответствующие угрозы. Настоятельно рекомендуется пропустить это, чтобы получить наиболее полную защиту, которую может предложить безопасный просмотр. Фильтр задается с использованием языка общих выражений Google, который можно найти по адресу https://github.com/google/cel-spec вместе с общими примерами. Вот несколько конкретных примеров, которые можно здесь использовать: Фильтр Фильтр |
Тело запроса
Тело запроса должно быть пустым.
Тело ответа
Ответ вернулся после поиска хэшей угроз.
Если ничего не найдено, сервер вернет статус ОК (код состояния HTTP 200) с пустым полем fullHashes
, а не возвратит статус NOT_FOUND (код состояния HTTP 404).
Что нового в V5 : существует разделение между FullHash
и FullHashDetail
. В случае, когда хэш представляет сайт, имеющий несколько угроз (например, MALWARE и SOCIAL_ENGINEERING), полный хэш не нужно отправлять дважды, как в версии 4. Кроме того, продолжительность кэша была упрощена до одного поля cacheDuration
.
В случае успеха тело ответа содержит данные следующей структуры:
JSON-представление |
---|
{
"fullHashes": [
{
object ( |
Поля | |
---|---|
fullHashes[] | Неупорядоченный список. Неупорядоченный список найденных полных хешей. |
cacheDuration | Продолжительность кэша на стороне клиента. Клиент ДОЛЖЕН добавить эту продолжительность к текущему времени, чтобы определить срок действия. Затем срок действия применяется к каждому префиксу хеша, запрошенному клиентом в запросе, независимо от того, сколько полных хешей возвращается в ответе. Даже если сервер не возвращает полных хешей для определенного префикса хэша, этот факт ДОЛЖЕН также кэшироваться клиентом. Если и только если поле Важно: клиент НЕ ДОЛЖЕН предполагать, что сервер вернет одинаковую продолжительность кэша для всех ответов. Сервер МОЖЕТ выбирать разную продолжительность кэширования для разных ответов в зависимости от ситуации. Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « |
FullHash
Полный хеш, идентифицированный с одним или несколькими совпадениями.
JSON-представление |
---|
{
"fullHash": string,
"fullHashDetails": [
{
object ( |
Поля | |
---|---|
fullHash | Соответствующий полный хеш. Это хеш SHA256. Длина будет ровно 32 байта. Строка в кодировке Base64. |
fullHashDetails[] | Неупорядоченный список. Повторяющееся поле, определяющее детали, относящиеся к этому полному хешу. |
FullHashDetail
Подробности о соответствующем полном хеше.
Важное примечание о прямой совместимости: новые типы угроз и атрибуты угроз могут быть добавлены сервером в любое время; эти дополнения считаются незначительными изменениями версии. Политика Google не раскрывает второстепенные номера версий в API (политику управления версиями см. на странице https://cloud.google.com/apis/design/versioning ), поэтому клиенты ДОЛЖНЫ быть готовы получать сообщения FullHashDetail
, содержащие значения перечисления ThreatType
или ThreatAttribute
. значения перечисления, которые клиент считает недействительными. Таким образом, ответственность за проверку правильности всех значений перечислений ThreatType
и ThreatAttribute
лежит на клиенте; если какое-либо значение считается недействительным, клиент ДОЛЖЕН игнорировать все сообщение FullHashDetail
.
JSON-представление |
---|
{ "threatType": enum ( |
Поля | |
---|---|
threatType | Тип угрозы. Это поле никогда не будет пустым. |
attributes[] | Неупорядоченный список. Дополнительные атрибуты этих полных хешей. Это может быть пусто. |
Атрибут угрозы
Атрибуты угроз. Эти атрибуты могут придавать дополнительное значение конкретной угрозе, но не влияют на тип угрозы. Например, атрибут может указывать более низкую достоверность, тогда как другой атрибут может указывать более высокую достоверность. В будущем могут быть добавлены дополнительные атрибуты.
Перечисления | |
---|---|
THREAT_ATTRIBUTE_UNSPECIFIED | Неизвестный атрибут. Если это возвращается сервером, клиент должен вообще игнорировать включающий FullHashDetail . |
CANARY | Указывает, что ThreatType не следует использовать для принудительного применения. |
FRAME_ONLY | Указывает, что ThreatType следует использовать только для принудительного применения к кадрам. |