PHP code example of wafio / wafio-client-php
1. Go to this page and download the library: Download wafio/wafio-client-php library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
wafio / wafio-client-php example snippets
use Wafio\Client\WafioClient;
$client = new WafioClient([
'credentials' => __DIR__ . '/mtls-credentials.json', // tcp_url dipakai otomatis
]);
$result = $client->analyze([
'method' => 'POST',
'uri' => '/api/login',
'remote_addr' => '203.0.113.42',
'host' => 'app.example.com',
'headers' => [
'content-type' => ['application/json'],
'user-agent' => ['Mozilla/5.0'],
],
'body' => '{"email":"[email protected] "}',
]);
if (($result['action'] ?? 'allow') === 'block') {
http_response_code(403);
echo 'Request blocked: ' . ($result['message'] ?? 'Forbidden');
exit;
}
echo 'Request allowed';
$result = $client->analyzeFromLaravelRequest($request);
$status = $client->checkBlock('203.0.113.42');
if (!empty($status['blocked'])) {
http_response_code(403);
echo 'Client is currently blocked';
exit;
}
use Wafio\Client\Helpers;
$snapshot = [
'method' => $_SERVER['REQUEST_METHOD'] ?? 'GET',
'url' => $_SERVER['REQUEST_URI'] ?? '/',
'headers' => getallheaders() ?: [],
'body' => file_get_contents('php://input') ?: '',
'remoteAddress' => $_SERVER['REMOTE_ADDR'] ?? '127.0.0.1',
'host' => $_SERVER['HTTP_HOST'] ?? '',
'requestId' => $_SERVER['HTTP_X_REQUEST_ID'] ?? '',
'userAgent' => $_SERVER['HTTP_USER_AGENT'] ?? '',
];
$analyzeReq = Helpers::buildAnalyzeRequest($snapshot);
$client = new WafioClient([
'credentials' => '/path/to/mtls-credentials.json',
]);
bash
composer json
{
"repositories": [
{
"type": "path",
"url": "packages/wafio-client-php"
}
],
"