Pular para conteúdo

Firewall

Alterar regra de domínio

Alterar uma regra de firewall aplicada a um domínio.

PUT /v1/firewall/{dominio}/{id}
$ curl -i https://api.gocache.com.br/v1/firewall/seudominio.com.br/aXBfYWRkcmVzcy1kZWZhdWx0fGlwX2FkZHJlc3N8MS4xLjEuMQ== \
-X PUT \
-H 'GoCache-Token:seu_token' \
-d 'match[ip_address]=1.1.1.1' \
-d 'action[firewall]=accept'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/firewall/seudominio.com.br/aXBfYWRkcmVzcy1kZWZhdWx0fGlwX2FkZHJlc3N8MS4xLjEuMQ==");

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));

$urls = array(
        "match[ip_address]=1.1.1.1",
        "action[firewall]=accept"
        );

curl_setopt($ch, CURLOPT_POSTFIELDS, implode("&", $urls));

$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>

Parâmetros

Campo Opcional Tipo Descrição
action Object Ação
 firewall String Blacklist ou Whitelist
Valores permitidos: "accept", "block"

Exemplo de sucesso

HTTP/1.1 200 OK
    {
        "response": {
            "msg": "Success"
        }
    }
<?php

if( $statusCode == 200 ) {

        echo("Sucesso!\n");

        $obj = json_decode($response);

        echo($obj->response->msg);

}
?>

Alterar regra global

Alterar uma regra de firewall global. Regras globais são aplicadas a todos os domínios de um usuário.

PUT /v1/firewall/{id}
$ curl -i https://api.gocache.com.br/v1/firewall/c2VndW5kYSByZWdyYSBkZSBmaXJld2FsbCAgICAgICAgICAgICAgICAgICAgIA== \
-X PUT \
-H 'GoCache-Token:seu_token' \
-d 'match[ip_address]=1.1.1.1' \
-d 'action[firewall]=block'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/firewall/c2VndW5kYSByZWdyYSBkZSBmaXJld2FsbCAgICAgICAgICAgICAgICAgICAgIA==");

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));

$urls = array(
        "match[ip_address]=1.1.1.1",
        "action[firewall]=accept"
        );

curl_setopt($ch, CURLOPT_POSTFIELDS, implode("&", $urls));

$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>

Parâmetros

Campo Opcional Tipo Descrição
match Object Critério da regra
 ip_address String Endereço IP de origem ou range
 country String País de origem
Valores permitidos: "BR", "US", "CN", "RU", "..."
 continent String Continente de origem
Valores permitidos: "SA", "NA", "OC", "EU", "AF", "AS"
 host_referer String Endereço da página web de origem
 uri String URI. Ex: /sistema
 user_agent String User Agent. Ex: Mozilla 5.0
 origin_asn Number ASN do acessante, representado apenas por números
action Object Ação
 firewall String Blacklist ou Whitelist
Valores permitidos: "accept", "block"

Exemplo de sucesso

HTTP/1.1 200 OK
{
  "response": {
    "msg": "Success"
  }
}
<?php

if( $statusCode == 200 ) {

    echo("Sucesso!\n");

    $obj = json_decode($response);

    echo($obj->response->msg);

}
?>

Criar regra de domínio

Criar uma regra de firewall que será aplicada a um domínio.

POST /v1/firewall/{dominio}
$ curl -i https://api.gocache.com.br/v1/firewall/seudominio.com.br \
-X POST \
-H 'GoCache-Token:seu_token' \
-d 'match[ip_address]=1.1.1.1' \
-d 'action[firewall]=block'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/firewall/seudominio.com.br");

curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));

$urls = array(
        "match[ip_address]=1.1.1.1",
        "action[firewall]=block"
        );

curl_setopt($ch, CURLOPT_POSTFIELDS, implode("&", $urls));

$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>

Parâmetros

Campo Opcional Tipo Descrição
match Object Critério da regra
 ip_address String Endereço IP de origem ou range
 country String País de origem
Valores permitidos: "BR", "US", "CN", "RU", "..."
 continent String Continente de origem
Valores permitidos: "SA", "NA", "OC", "EU", "AF", "AS"
 host_referer String Endereço da página web de origem
 uri String URI. Ex: /sistema
 user_agent String User Agent. Ex: Mozilla 5.0
 origin_asn Number ASN do acessante, representado apenas por números
action Object Ação
 firewall String Blacklist ou Whitelist
Valores permitidos: "accept", "block"

Exemplo de sucesso

HTTP/1.1 200 OK
{
  "response": {
    "id": "aXBfYWRkcmVzcy1kZWZhdWx0fGlwX2FkZHJlc3N8MS4xLjEuMQ=="
  }
}
<?php

if( $statusCode == 200 ) {

    echo("Sucesso!\n");

    $obj = json_decode($response);

    echo("ID da regra criada: " . $obj->response->id);

}
?>

Criar regra global

Criar uma regra de firewall global. Regras globais são aplicadas a todos os domínios de um usuário.

POST /v1/firewall
$ curl -i https://api.gocache.com.br/v1/firewall \
-X POST \
-H 'GoCache-Token:seu_token' \
-d 'match[ip_address]=1.1.1.1' \
-d 'action[firewall]=block'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/firewall");

curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));

$urls = array(
        "match[ip_address]=1.1.1.1",
        "action[firewall]=block"
        );

curl_setopt($ch, CURLOPT_POSTFIELDS, implode("&", $urls));

$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>

Parâmetros

Campo Opcional Tipo Descrição
match Object Critério da regra
 ip_address String Endereço IP de origem ou range
 country String País de origem
Valores permitidos: "BR", "US", "CN", "RU", "..."
 continent String Continente de origem
Valores permitidos: "SA", "NA", "OC", "EU", "AF", "AS"
 host_referer String Endereço da página web de origem
 uri String URI. Ex: /sistema
 user_agent String User Agent. Ex: Mozilla 5.0
 origin_asn Number ASN do acessante, representado apenas por números
action Object Ação
 firewall String Blacklist ou Whitelist
Valores permitidos: "accept", "block"

Exemplo de sucesso

HTTP/1.1 200 OK
{
    "response": {
        "id": "cmVncmEgZGUgZmlyZXdhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA=="
    }
}
<?php

    if( $statusCode == 200 ) {

        echo("Sucesso!\n");

        $obj = json_decode($response);

        echo("ID da regra criada: " . $obj->response->id);

}
?>

Listar regras de domínio

Listar as regras de firewall de um domínio.

GET /v1/firewall/{dominio}
$ curl -i https://api.gocache.com.br/v1/firewall/meudominio.com.br \
-X GET \
-H 'GoCache-Token:seu_token'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/firewall/meudominio.com.br");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));

$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>

Exemplo de sucesso

HTTP/1.1 200 OK
{
    "response": {
        "rules": [{
            "match": {
                "ip_address": "1.1.1.1"
            },
            "action": {
                "firewall": "block"
            },
            "id": "aXBfYWRkcmVzcy1kZWZhdWx0fGlwX2FkZHJlc3N8MS4xLjEuMQ==",
            "metadata": {
                "applied_to": "domain"
            }
        },
        {
            "match": {
              "country": "BR"
            },
            "action": {
              "firewall": "accept"
            },
            "id": "cmVncmEgZGUgZmlyZXdhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgVc==",
            "metadata": {
                "applied_to": "all"
            }
        }]
    }
}
<?php

if( $statusCode == 200 ) {

    echo("Sucesso!\n");

    $obj = json_decode($response);

    foreach($obj->response->rules as $rule) {

        echo("\n<br /><br />\n");
        echo("Regra de firewall:" . "<br />\n");
        echo("ID: " . $rule->id . "<br />\n");

        foreach($rule->match as $match_type => $match_value) {

            echo("Match " . $match_type . ": " . $match_value . "<br />\n");
        }

        echo("Action: " . $rule->action->firewall . "<br />\n");

        if($rule->metadata->applied_to == "all") {

            echo("Applied to: All domains" . "<br />\n");

        } else if($rule->metadata->applied_to == "domain") {

            echo("Applied to: This domain" . "<br />\n");

        }
    }
}
?>

Listar regras globais

Listar as regras de firewall globais. Regras globais são aplicadas a todos os domínios de um usuário.

GET /v1/firewall
$ curl -i https://api.gocache.com.br/v1/firewall \
-X GET \
-H 'GoCache-Token: seu_token'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/firewall");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));

$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>

Exemplo de sucesso

HTTP/1.1 200 OK
{
    "response": {
        "rules": [{
            "match": {
                "ip_address": "1.1.1.1"
            },
            "action": {
                "firewall": "block"
            },
            "id": "cmVncmEgZGUgZmlyZXdhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA==",
            "metadata": {
                "applied_to": "all"
            }
        },
        {
            "match": {
              "ip_address": "255.255.255.255"
            },
            "action": {
              "firewall": "block"
            },
            "id": "c2VndW5kYSByZWdyYSBkZSBmaXJld2FsbCAgICAgICAgICAgICAgICAgICAgIA==",
            "metadata": {
                "applied_to": "all"
            }
        }]
    }
}
<?php

if( $statusCode == 200 ) {

    echo("Sucesso!\n");

    $obj = json_decode($response);

    foreach($obj->response->rules as $rule) {

        echo("\n<br /><br />\n");
        echo("Regra de firewall:" . "<br />\n");
        echo("ID: " . $rule->id . "<br />\n");

        foreach($rule->match as $match_type => $match_value) {

            echo("Match " . $match_type . ": " . $match_value . "<br />\n");
        }

        echo("Action: " . $rule->action->firewall . "<br />\n");

        if($rule->metadata->applied_to == "all") {

            echo("Applied to: All domains" . "<br />\n");

        } else if($rule->metadata->applied_to == "domain") {

            echo("Applied to: This domain" . "<br />\n");

        }
    }
}
?>

Remover regra de domínio

Remover uma regra de firewall aplicada a um domínio.

DELETE /v1/firewall/{dominio}/{id}
$ curl -i https://api.gocache.com.br/v1/firewall/seudominio.com.br/aXBfYWRkcmVzcy1kZWZhdWx0fGlwX2FkZHJlc3N8MS4xLjEuMQ== \
-X DELETE \
-H 'GoCache-Token:seu_token'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/firewall/seudominio.com.br/aXBfYWRkcmVzcy1kZWZhdWx0fGlwX2FkZHJlc3N8MS4xLjEuMQ==");

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));

$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>

Exemplo de sucesso

HTTP/1.1 200 OK
{
  "response": {
    "msg": "Success"
  }
}
<?php

if( $statusCode == 200 ) {

    echo("Sucesso!\n");

    $obj = json_decode($response);

    echo($obj->response->msg);

}
?>

Remover regra global

Remover uma regra de firewall global. Regras globais são aplicadas a todos os domínios de um usuário.

DELETE /v1/firewall/{id}
$ curl -i https://api.gocache.com.br/v1/firewall/c2VndW5kYSByZWdyYSBkZSBmaXJld2FsbCAgICAgICAgICAgICAgICAgICAgIA== \
-X DELETE \
-H 'GoCache-Token: seu_token'
<?php

$ch = curl_init("https://api.gocache.com.br/v1/firewall/c2VndW5kYSByZWdyYSBkZSBmaXJld2FsbCAgICAgICAgICAgICAgICAgICAgIA==");

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_HTTPHEADER, array("GoCache-Token: seu_token"));

$response = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);
?>

Exemplo de sucesso

HTTP/1.1 200 OK
{
    "response": {
        "msg":"Success"
    }
}
<?php

if( $statusCode == 200 ) {

    echo("Sucesso!\n");

    $obj = json_decode($response);

    echo($obj->response->msg);

}
?>