Интеграция PHP - Мошеннический детектор трафика

Интеграция PHP

Базовая интеграция в PHP

В качестве примера кода мы сделаем его максимально простым. Первым делом сделаем запрос curl к нашей конечной точке. Мы передадим ответ в массив ( $output ) с помощью json_decode ($ response, 1); обратиться к ответу, и мы получим статус запроса в $http_status

<?php
$ip = '148.56.53.217'; //-- IP для консультации
$apiKey = 'your_api_key';

$headers = [
    'X-Key: '.$apiKey,
];
$ch = curl_init("https://www.iphunter.info:8082/v1/ip/".$ip);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$output = json_decode(curl_exec($ch), 1);
$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

Типы ответов об ошибках

В $http_status (integer) мы можем получить следующие значения:

- 400 Это указывает на то, что есть параметры, которые не являются правильными.

- 429 Это означает, что мы достигли максимального количества запросов в день, разрешенного нашим планом.

Пример ответа на ошибку в $output (Array) :

Array
(
    [status] => error
    [code] => Bad params
)

Чтобы контролировать ошибку в запросе, мы сделаем следующее:

if($http_status != 200) {
    echo $output['code']; //-- предупредит нас, какую ошибку мы допустили
}

Правильный ответ

Когда ответ будет правильным, мы получим в $http_status (integer) следующее значение:

- 200 Запрос сделан правильно.

Пример правильного ответа в $output (Array) :

Array
(
    [status] => success
    [data] => Array
        (
            [ip] => 148.56.53.217
            [ip_num] => 2486711769
            [country_code] => ES
            [country_name] => Spain
            [city] => Madrid
            [isp] => Vodafone Espana S.A.U.
            [domain] => vodafone.es
            [block] => 0
        )

)

Если запрос был верным, мы можем сделать следующее:

if($http_status == 200) {
    //-- Если результат равен 1, мы продолжим блокировать пользователя
    if($output['data']['block'] == 1) {
        //-- действие, чтобы заблокировать пользователя
    }
}