API — Programação Web

Bloquear IP no Cloudflare

Integra o Cloudflare para bloquear IPs. Compatível com ASP clássico e PHP através do objeto COM da extensão.

ASP Clássico PHP XML / JSON

Adicionando 2 linhas de código extra você poderá se conectar ao Cloudflare. CloudFlareLogin e CloudflareDomain

Função BlockIp(IP,Rulename)

A partir da sua página web — no seu index.asp, index.php ou qualquer seção da sua aplicação — você pode chamar esta função para bloquear um endereço IP através do Firewall Manager. Requer credenciais válidas.

1 Parâmetros necessários


Parâmetro Tipo Obrigatório Descrição
Username String Obrigatório Usuário do sistema.
Password String Obrigatório Senha do usuário.
FormatOutput String Opcional Formato da resposta: xml (padrão) ou json.
IP String Obrigatório Endereço IPv4 ou IPv6 que se deseja bloquear.
CloudFlareLogin String Obrigatório Email e Chave token do Cloudflare
CloudflareDomain String Obrigatório Domínio integrado ao Cloudflare
Valores de retorno json/xml
result
(true ou false) Status da solicitação de bloqueio.
app
Site em que estava bloqueada: Windows, MailEnable, Cloudflare
desc
Se o resultado for negativo, mostrará informações do motivo.

Importante: Use esta função em páginas protegidas com autenticação própria. Expor a chamada sem proteção permite que qualquer usuário bloqueie IPs arbitrários.

2 Exemplo em ASP Clássico


Instancie o objeto COM FlexFirewallManager.Admin, defina as credenciais e chame UnlockIP(). A resposta é interpretada como XML.

' Criar instância do objeto COM Set App = CreateObject("FlexFirewallManager.Admin") App.FormatOutput = "xml" App.Username = "Usuário do Sistema" App.Password = "Senha do Usuário" App.CloudFlareLogin("Email Cloudflare" , "Token Cloudflare") App.CloudflareDomain = "Nome do Domínio" ' IP a bloquear Dim strIP : strIP = "123.123.123.123" Dim returnstring : returnstring = App.BlockIp(strIP)

Você pode usar FormatOutput = "json" se preferir interpretar a resposta com JSON.parse em vez de XML. O formato JSON é recomendado para aplicações modernas.

3 Exemplo em PHP


Em PHP, instancie o objeto COM com new COM(). Use o formato json para interpretar a resposta diretamente com json_decode().

// Criar instância do objeto COM $app = new COM("FlexFirewallManager.Admin"); $app->FormatOutput = "json"; $app->Username = "Usuário do Sistema"; $app->Password = "Senha do Usuário"; // IP a desbloquear $strIP = "123.123.123.123"; $app->CloudFlareLogin("Email Cloudflare","Token Cloudflare"); $app->CloudflareDomain = "Nome do Domínio"; // Método 2 $returnstring = $app->BlockIp($strIP); // Interpretar resposta JSON $appjson = json_decode($returnstring); if ($appjson->result) { echo "IP Bloqueado " . $strIP; }

Dica: Você pode combinar esta função com um formulário de administração interno para que seus usuários gerenciem por conta própria o bloqueio do próprio IP sem precisar acessar o administrador.

4 Notas de implementação


Leve em conta os seguintes aspectos ao integrar esta função na sua aplicação:

Autenticação prévia Proteja sempre a página que chama BlockIp() com uma sessão de usuário autenticado.
Somente no Windows Server O objeto COM FlexFirewallManager.Admin requer Windows Server com a extensão instalada.
Credenciais seguras Nunca inclua o usuário e a senha no código-fonte acessível publicamente. Use variáveis de ambiente ou arquivos de configuração externos.
Sincronização com Cloudflare Com os parâmetros de integração com o Cloudflare ativos, o bloqueio será aplicado apenas nas regras do domínio selecionado.