PHP Integración - Detector de tráfico fraudulento
PHP Integración
Integración básica en PHP
Como código de ejemplo, lo haremos lo más sencillo posible. Lo primero será hacer una petición curl a nuestro endpoint. Pasaremos la respuesta a un Array ($output) con json_decode($response,1); para tratar la respuesta, y recibiremos un status de la petición en $http_status
<?php
$ip = '148.56.53.217'; //-- IP a consultar
$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);
Tipos de respuestas de error
En $http_status (integer) podemos recibir los siguientes valores:
- 400 Esto nos indica que hay parámetros que no están bien.
- 429 Significa que hemos alcanzado el máximo de peticiones al día permitidos por el plan adquirido.
Ejemplo de respuesta de error en $output (Array):
Array
(
[status] => error
[code] => Bad params
)
Para controlar el error en la petición haríamos lo siguiente:
if($http_status != 200) {
echo $output['code']; //-- nos avisará que tipo de error hemos cometido
}
Respuesta correcta
Cuando la respuesta es correcta recibiremos en $http_status (integer) el siguiente valor:
- 200 Petición realizada correctamente.
Ejemplo de respuesta correcta en $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 petición ha sido correcta podemos hacer lo siguiente:
if($http_status == 200) {
//-- Si es 1, procederemos a bloquear al usuario
if($output['data']['block'] == 1) {
//-- acción para bloquear al usuario
}
}