Фильтрация
Функции фильтрации позволяют вам максимально быстро проверять визиты на ваши сайты. Они вынесены в отдельный интерфейс, который имеет минимальное время ответа и максимальную производительность.
Проверка визита
URL: https://www.altercpa.one/fltr/{user}-{key}-{id}
В адресе функции вместо {user}
и {key}
укажите API ID и ключ из профиля, вместо {id}
указывается идентификатор добавленного вами фильтр-сайта. Конкретный URL вы можете получить, нажав на кнопку "Инструкция" соответствующего сайта в вашем личном кабинете.
Чтобы проверить свой визит, вам необходимо отправить POST-запрос на указанный выше URL. В качестве тела запроса передайте поля своего массива $_SERVER
- мы проанализируем их и покажем ответ в формате JSON. Успешный ответ включает в себя поля status
, action
и url
. Поле status
всегда содержит значение ok
. Поле action
ответа будет содержать allow
или deny
в зависимости от результатов проверки, поле url
будет содержать соответствующий URL-адрес. В ошибочном ответе поле status
будет содержать error
, код ошибки будет указан в поле error
.
POST-часть запроса должна быть в формате x-www-form-urlencoded
, формат JSON не поддерживается. Мы анализируем следующие поля из массива $_SERVER
:
HTTP_USER_AGENT, HTTP_ACCEPT, HTTP_ACCEPT_CHARSET, HTTP_ACCEPT_ENCODING, HTTP_ACCEPT_LANGUAGE, HTTP_AUTHORIZATION, HTTP_CACHE_CONTROL, HTTP_CONNECTION, HTTP_CONTENT_DISPOSITION, HTTP_DATE, HTTP_EXPECT, HTTP_FROM, HTTP_HOST, HTTP_IF_MATCH, HTTP_IF_MODIFIED_SINCE, HTTP_IF_NONE_MATCH, HTTP_IF_RANGE, HTTP_IF_UNMODIFIED_SINCE, HTTP_MAX_FORWARDS, HTTP_PRAGMA, HTTP_PROXY_AUTHORIZATION, HTTP_RANGE, HTTP_REFERER, HTTP_TE, HTTP_TRAILER, HTTP_TRANSFER_ENCODING, HTTP_UPGRADE, HTTP_VIA, HTTP_X_FORWARDED_FOR, REMOTE_ADDR, REMOTE_PORT, REQUEST_METHOD, REQUEST_URI, QUERY_STRING, HTTP_CF_CONNECTING_IP, HTTP_CLIENT_IP, HTTP_X_REAL_IP, HTTP_X_PURPOSE, HTTP_X_FB_HTTP_ENGINE
Результатом выполнения функции является ассоциативный массив:
Поле |
Описание |
status |
Результат выполнения операции: ok в случае успешного выполнения, error в случае ошибки |
action |
Требуемое действие по результатам проверки:
allow - визит легитимный, показать целевой сайт
deny - визит подозрительный, показать сайт-заглушку
|
result |
Реальный результат проверки трафика, который не зависит от включенного режима обучения:
allow - визит легитимный, показать целевой сайт
deny - визит подозрительный, показать сайт-заглушку
В режиме обучения значение result может отличаться от значения action .
|
url |
URL сайта для запроса, зависит от результатов проверки. |
target |
URL целевого сайта, при наличии показывается всегда независимо от результатов проверки. |
dummy |
URL сайта-заглушки, при наличии показывается всегда независимо от результатов проверки. |
error |
Идентификатор ошибки: access-denied при отсутствии доступа к системе проверки, bad-request в случе ошибочного указания адреса URL проверки, bad-site если указанный сайт не найден. |
Пример реализации отправки запроса:
$curl = curl_init( 'https://www.altercpa.one/fltr/123-abcd-45' );
curl_setopt( $curl, CURLOPT_POST, true );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $_SERVER );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
$result = curl_exec( $curl );
curl_close( $curl );
$result = $result ? json_decode( $result, true ) : [];
if ( isset( $result['action'] && $result['action'] == 'allow' ) {
include( 'target-index.php' );
} else include( 'dummy-index.php' );
Пример успешного ответа сервера:
{
"status": "ok",
"action": "allow",
"url": "http://black.site/url"
}
Пример ошибочного ответа сервера:
{
"status": "error",
"error": "access-denied"
}