Intégration PHP - Détecteur de trafic frauduleux

Intégration PHP

Intégration de base en PHP

Comme exemple de code, nous allons le rendre aussi simple que possible. La première chose sera de faire une requête curl à notre endpoint. Nous passerons la réponse à un tableau ( $output ) avec json_decode ($ response, 1); pour répondre à la réponse, et nous recevrons un état de la demande dans $http_status

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

Types de réponses d'erreur

Dans $http_status (entier), nous pouvons recevoir les valeurs suivantes:

- 400 Cela indique qu'il y a des paramètres qui ne sont pas corrects.

- 429 Cela signifie que nous avons atteint le nombre maximum de demandes par jour autorisé par notre plan.

Exemple de réponse d'erreur dans $output (Array) :

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

Pour contrôler l'erreur dans la demande, nous procédons comme suit:

if($http_status != 200) {
    echo $output['code']; //-- nous avertira du genre d'erreur que nous avons commise
}

Bonne réponse

Lorsque la réponse est correcte, nous recevrons dans $http_status (entier) la valeur suivante:

- 200 Demande correctement effectuée.

Exemple de réponse correcte dans $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
        )

)

Si la demande est correcte, nous pouvons procéder comme suit:

if($http_status == 200) {
    //-- Si le résultat est 1, nous allons bloquer l'utilisateur
    if($output['data']['block'] == 1) {
        //-- action pour bloquer l'utilisateur
    }
}