Інтеграція PHP - Шахрайський детектор руху

Інтеграція PHP

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

Як приклад коду, ми зробимо його максимально простим. Першим ділом буде зробити запит на завивку до нашої кінцевої точки. Ми передамо відповідь на масив ( $ вихід ) з 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 (ціле число) ми можемо отримати такі значення:

- 400 Це вказує на те, що є параметри, які не відповідають правилу.

- 429 Це означає, що ми досягли максимальної кількості запитів на день, дозволених нашим планом.

Приклад відповіді на помилку у $output (масив) :

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

Щоб контролювати помилку в запиті, ми зробимо наступне:

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

Правильна відповідь

Коли відповідь правильна, ми отримаємо в $http_status (ціле число) таке значення:

- 200 Запит зроблений правильно.

Приклад правильної відповіді у $output (масив) :

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) {
        //-- дії для блокування користувача
    }
}