Метод проверки spam_check - проверка по чёрным спискам

 

 

Для использования метода SPAM_CHECK необходимо приобрести отдельную лицензию Database API. Цены можно посмотреть здесь: https://cleantalk.org/price#api

Приобрести можно на вашей странице биллинга в Панели Управления: https://cleantalk.org/my/bill/api

 

Этот метод должен быть использован для массовых проверок IP, Email на спам-активность. Для других целей используйте другие методы:

 

Результаты метода содержат информацию о нахождении записей IP и e-mail в нашей базе за всё время.

Поэтому они могут отличаться от результатов проверки по чёрным спискам на нашем сайте https://cleantalk.org/blacklists/spam-ip — там выводится только текущий спам-статус.

 

Какие отличия в данных, возвращаемых методами SPAM_CHECK и CHECK_NEWUSER (или CHECK_MESSAGE) ?

Проверка идет за разные периоды времени и используется для разных целей:

 • SPAM_CHECK  использует последние 6 месяцев истории активности адреса и в соответствии с этим выдаёт ответ.

 • CHECK_NEWUSER (или CHECK_MESSAGE) проверяет текущий статус записи, т.е. последние 2 недели истории активности, метод используется для проверки любых IP или e-mail "на лету". Методом проводится множество дополнительных тестов на спам (соответствие тексту сайта, язык, псевдоним, тест JavaScript и т.д.).

 

Необходимые GET параметры при вызове:

 

Необязательные GET параметры:

  • ip - ip адрес для проверки (IPv4 или IPv6 в стандартном текстовом виде виде)
  • email - email адрес для проверки (Результат выдается за последние 6 месяцев)
  • date - дата в формате YYYY-MM-DD, используется при необходимости указания конкретного дня, за который требуется подсчитать статистику (только для IP адресов.)
  • email_<SHA256> - хэш SHA256 адреса email
  • ip4_<SHA256>- хэш SHA256 адреса IPv4
  • ip6_<SHA256>- хэш SHA256 адреса IPv6

 

Пример запроса c IP:

https://api.cleantalk.org/?method_name=spam_check&auth_key=123456&email=stop_email@example.com&ip=127.0.0.1

 

Пример запроса c date:

https://api.cleantalk.org/?method_name=spam_check&auth_key=123456&ip=127.0.0.1&date=2017-01-31

 

Пример с хэшем адреса email:

https://api.cleantalk.org/?method_name=spam_check&auth_key=123456&email=email_08c2495014d7f072fbe0bc10a909fa9dca83c17f2452b93afbfef6fe7c663631

 

Пример с хэшем адреса IP v4:

https://api.cleantalk.org/?method_name=spam_check&auth_key=12345&ip=ip4_f46604ded89bbd0e8e478172a9a650f4825a763053ad2e3582c8286864ec4074

 

API возвращает JSON строку, например:

{"data":{"127.0.0.1":{"network_type":"unknown","country":"","appears":0,"frequency":0,"sha256":"12ca17b49af2289436f303e0166030a21e525d266e209267433801a8fd4071a0"},"stop_email@example.com":{"frequency":1001,"updated":"2021-02-22 12:06:14","spam_rate":0,"exists":1,"frequency_time_10m":0,"frequency_time_1h":0,"frequency_time_24h":0,"appears":1,"disposable_email":1,"sha256":"6d42ca0235d72b01a2b086ad53b5cfac24b5a444847fad70250e042d7ca8bf59"}}}

 

Для хэша адреса email:

{"data":{"email_08c2495014d7f072fbe0bc10a909fa9dca83c17f2452b93afbfef6fe7c663631":{"frequency":4,"updated":"2018-10-31 00:07:21","spam_rate":1,"exists":1,"frequency_time_10m":0,"frequency_time_1h":0,"frequency_time_24h":0,"appears":0,"disposable_email":1}}}

 

Для хэша адреса IP v4:

{"data":{"ip4_f46604ded89bbd0e8e478172a9a650f4825a763053ad2e3582c8286864ec4074":{"frequency":13626,"updated":"2019-05-15 05:01:23","spam_rate":1,"network_type":"hosting","country":"GB","frequency_time_10m":0,"frequency_time_1h":0,"frequency_time_24h":0,"appears":1}}}

 

Расшифровка ответа:

data - массив с проверенными записями, выводимые в формате "запись":{массив с результатами}.

Массив с проверенными записями содержит следующие поля:

  • appears - флаг присутствия в черных списках (показывает блокировку на настоящий момент),
  • sha256 - хэш sha256 адреса
  • network_type - принадлежность к определенному типу сети (возможно в дальнейшем добавятся новые типы):
  • hosting - адрес IP принадлежит сети хостинг провайдера
  • public - адрес IP принадлежит интернет провайдеру, но данная подсеть или автономная система имеют высокую спам активность
  • paid_vpn - адрес IP принадлежит провайдеру VPN сервиса
  • tor - адрес IP принадлежит нодам сети Tor (очень спам активные адреса)
  • unknown - адрес IP пока не имеет специального типа
  • spam_rate - спам-рейтинг от 0 до 100%. 100 означает точно спам (отношение спам запросов к общему количеству запросов),
  • country - буквенный код страны, которой принадлежит IP адрес, в формате ISO 3166-1 alpha-2
  • exists - существует ли данный email (0 - не существует, 1 - существует),
  • disposable_email - является ли данный email временным (0 - обычный, 1 - временный),
  • frequency - количество сайтов отметивших запись как спам. Может быть от 0 до 9999 (показывает всю активность с самого начала обнаружения адреса),
  • frequency_time_10m - активность за 10 минут (показывает сколько попыток спама было зафиксировано),
  • frequency_time_1h - активность за 1 час (показывает сколько попыток спама было зафиксировано),
  • frequency_time_24h - активность за 24 часа (показывает сколько попыток спама было зафиксировано),
  • in_antispam - IP адрес найден в чёрном списке антиспама,
  • in_security - IP адрес найден в чёрном списке безопасности (brute-force),
  • domains_count - число доменов, найденных на IP адресе.

 

В случае указания параметра "date" данные ответа приводятся только на указанную дату. Посредством POST запроса можно за один раз отправить на проверку до 1000 записей.

Проверку адреса email на существование и одноразовость (временный адрес) можно осуществить только с помощью GET запроса и только 1 адрес за раз. 

Если не было активности с адреса в течение 14 дней, то запись удаляется из черных списков, но вся история остаётся.

 

Проверка нескольких записей

Вы можете отправить несколько записей для теста за 1 раз, для этого используйте POST параметры:

  • data - строка с записями для проверки разделенная ','.

Например,

wget -O- --post-data='data=stop_email@example.com,10.0.0.1,10.0.0.2' https://api.cleantalk.org/?method_name=spam_check\&auth_key=123456

 

Ответ:

{"data":{"stop_email@example.com":{"appears":1,"frequency":"999","updated":"2019-04-24 23:33:00"},"10.0.0.1":{"appears":0},"10.0.0.2":{"appears":0}}}

 

Ограничения

Если вы превысите максимальное количество вызовов, API вернет ошибку, например,

{"error_message":"Calls limit exceeded.","error_no":10}

Сейчас максимальное количество вызовов установлено в 100 вызовов за 60 секунд.

 

Если вы превысите максимальное количество элементов данных в методе spam_check вызовов, API вернет ошибку, например,

{"error_message":"Recevied 1001 records to check, maximum 1000 records check perl call.","error_no":8}

Сейчас максимальное количество элементов данных установлено в 1000.

 

Рекомендуемый таймаут - не более 180 секунд.

 

Ошибки при анализе и обработке данных возвращаются индивидуально для каждой записи, например,

{"data":{"10.0.0.3":{"error":"Database error"}}}
{"data":{"10.0.0.266":{"error":"Can't check this record: Wrong format"}}}

 

Примечание: Если в запросе передается дата, то время выполнения этого запроса будет немного увеличено.

 

Особенности проверки адресов gmail.com

 

Если почтовый адрес из gmail.com и содержит точки, то проверка выполняется для почты без точек (т.к. это одно и то же для gmail.com), вывод дополняется полем "email" без точек:

https://api.cleantalk.org/?method_name=spam_check&auth_key=123456&email=1234.test.te@gmail.com

 

Ответ:

{"data":{"1234.test.te@gmail.com":{"appears":0,"sha256":"1cab88c5f6304f48ac75e8a175a0351a7d6bfd7fbd55d2f90eab96213dcdf639","disposable_email":0,"email":"1234testte@gmail.com"}}}

 

Описание нескольких примеров ответов API

Ниже вы можете увидеть разбор и описание параметров для возможных вариантов ответа сервера, таких как:

  • "appears" - флаг присутствия в черных списках,
  • "spam_rate" - спам-рейтинг от 0 до 100%. 100 означает точно спам,
  • "frequency" - количество сайтов, которые сообщили о спам активности записи,
  • "frequency_time_10m" - активность за 10 минут,
  • "frequency_time_1h" - активность за 1 час,
  • "frequency_time_24h" - активность за 24 часа.
  • "network_type" - категория использования адресного пространства.

 

Пример:

"ip":{"appears":1}

Объяснение:

  • IP находится в черном списке;

 

Пример:

"ip":{"appears":0}

Объяснение:

  • IP не находится в черном списке;

 

Пример:

"ip":{"appears":"0", "frequency":"15"}

Объяснение:

  • "appears":"0" - IP не находится в черном списке;
  • "frequency":"15" - 15 сайтов сообщили о спам активности этого IP.

Пример:

"ip":{ "appears":"0","spam_rate":"1","frequency":"1","frequency_time_10m":"1","frequency_time_1h":"1","frequency_time_24h":"1"}

Объяснение:

  • "appears":"0" - IP не находится в черном списке;
  • "spam_rate":"1" - был 1 запрос и он был определен как спам активный;
  • "frequency":"1" - 1 сайт сообщил о спам активности этого IP.;
  • "frequency_time_10m":"1" - был 1 спам запрос за 10 минут;
  • "frequency_time_1h":"1" - был 1 спам запрос за 1 час;
  • "frequency_time_24h":"1" - был 1 спам запрос за 24 часа.

Пример:

"email":{ "appears":"0","spam_rate":"1","frequency":"1","frequency_time_10m":"1","frequency_time_1h":"1","frequency_time_24h":"1","exists":"1"}

Объяснение:

  • "appears":"0" -  email не находится в черном списке;
  • "spam_rate":"1" - был 1 запрос и он был определен как спам активный;
  • "frequency":"1" - 1 сайт сообщил о спам активности этого email.;
  • "frequency_time_10m":"1" - был 1 спам запрос за 10 минут;
  • "frequency_time_1h":"1" - был 1 спам запрос за 1 час;
  • "frequency_time_24h":"1" - был 1 спам запрос за 24 часа.
  • "exists":"1" - реальный адрес электронной почты, который присутствует на почтовом сервере.

 

Анти-спам модуль для Nginx

 

CleanTalk предлагает возможность использовать антиспам сервис на уровне сервера, мы разработали антиспам модуль для Nginx. https://github.com/CleanTalk/nginx-cleantalk-service

После установки Анти-спам модуля от CleanTlak на Nginx сервер, все POST запросы будут проверяться на спам через CleanTalk API и спам запросы будут блокироваться. Статистика работы Анти-спам модуля для Nginx доступна в панели управления CleanTalk.

 


Возможно, будет так же интересно