Integrazione PHP - Rilevatore di traffico fraudolento

Integrazione PHP

Integrazione di base in PHP

Come esempio di codice, lo renderemo il più semplice possibile. La prima cosa sarà fare una richiesta di arricciatura al nostro endpoint. Passeremo la risposta a un array ( $output ) con json_decode ($ response, 1); per rispondere alla risposta e riceveremo lo stato della richiesta in $http_status

<?php
$ip = '148.56.53.217'; //-- IP da consultare
$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);

Tipi di risposte di errore

In $http_status (numero intero) possiamo ricevere i seguenti valori:

- 400 Questo indica che ci sono parametri che non sono corretti.

- 429 Significa che abbiamo raggiunto il numero massimo di richieste al giorno consentito dal nostro piano.

Esempio di risposta all'errore in $output (Array) :

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

Per controllare l'errore nella richiesta, faremo quanto segue:

if($http_status != 200) {
    echo $output['code']; //-- ci avvertirà che tipo di errore abbiamo commesso
}

Risposta corretta

Quando la risposta è corretta, riceveremo in $http_status (numero intero) il seguente valore:

- 200 Richiesta effettuata correttamente.

Esempio di risposta corretta in $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
        )

)

Se la richiesta è stata corretta possiamo fare quanto segue:

if($http_status == 200) {
    //-- Se il risultato è 1, procederemo a bloccare l'utente
    if($output['data']['block'] == 1) {
        //-- azione per bloccare l'utente
    }
}