Nueva Extensión para Plesk. Protección Antivirus para mejorar la seguridad de tu servidor. ¿Por qué elegir Flex Antivirus?

API — Programación Web

Bloquear IP en Cloudflare

Integra Cloudflare para bloquear IP. Compatible con ASP clásico y PHP mediante el objeto COM de la extensión.

ASP Clásico PHP XML / JSON

Añadiendo 2 lineas de código adicional podrás conectar a Cloudflare. CloudFlareLogin y CloudflareDomain

Función BlockIp(IP,Rulename)

Desde tu página web — en tu index.asp, index.php o cualquier sección de tu aplicación — puedes llamar a esta función para bloquear una dirección IP por el Firewall Manager. Requiere credenciales de un dominio válido en Plesk.

1 Parámetros requeridos


Parámetro Tipo Requerido Descripción
Username String Requerido Usuario del dominio Plesk con acceso a la extensión.
Password String Requerido Contraseña del usuario del dominio Plesk.
FormatOutput String Opcional Formato de respuesta: xml (defecto) o json.
IP String Requerido Dirección IPv4 o IPv6 que se desea bloquear.
CloudFlareLogin String Requerido Email y Clave token de Cloudflare
CloudflareDomain String Requerido Dominio integrado en Cloudflare
Valores de retorno json/xml
result
(true o false) Estado de la petición de bloqueo.
app
Sitio donde estaba bloqueada: Windows , MailEnable, Cloudflare
desc
Si el resultado es negativo, mostrará información del motivo.

Importante: Usa esta función en páginas protegidas con autenticación propia. Exponer la llamada sin protección permite que cualquier usuario bloquee IPs arbitrarias.

2 Ejemplo en ASP Clásico


Instancia el objeto COM FlexFirewallManager.Admin, establece las credenciales y llama a UnlockIP(). La respuesta se parsea como XML.

' Crear instancia del objeto COM Set App = CreateObject("FlexFirewallManager.Admin") App.FormatOutput = "xml" App.Username = "Usuario Dominio Plesk" App.Password = "Clave Dominio Plesk" App.CloudFlareLogin("Email Cloudflare" , "Token Cloudflare") App.CloudflareDomain = "Nomnre del Dominio" ' IP a bloquear Dim strIP : strIP = "123.123.123.123" Dim returnstring : returnstring = App.BlockIp(strIP)

Puedes usar FormatOutput = "json" si prefieres parsear la respuesta con JSON.parse en lugar de XML. El formato JSON es recomendado para aplicaciones modernas.

3 Ejemplo en PHP


En PHP, instancia el objeto COM con new COM(). Usa el formato json para parsear la respuesta directamente con json_decode().

// Crear instancia del objeto COM $app = new COM("FlexFirewallManager.Admin"); $app->FormatOutput = "json"; $app->Username = "Usuario Dominio Plesk"; $app->Password = "Clave Dominio Plesk"; // IP a desbloquear $strIP = "123.123.123.123"; $app->CloudFlareLogin("Email Cloudflare","Token Cloudflare"); $app->CloudflareDomain = "Nomnre del Dominio"; // Metodo 2 $returnstring = $app->BlockIp($strIP); // Parsear respuesta JSON $appjson = json_decode($returnstring); if ($appjson->result) { echo "IP Bloqueada " . $strIP; }

Tip: Puedes combinar esta función con un formulario de administración interno para que tus usuarios autogestionen el bloqueo de su propia IP sin necesidad de acceder al panel de Plesk.

4 Notas de implementación


Ten en cuenta los siguientes aspectos al integrar esta función en tu aplicación:

Autenticación previa Protege siempre la página que llama a BlockIp() con sesión de usuario autenticado.
Solo en Windows Server El objeto COM FlexFirewallManager.Admin requiere Windows Server con la extensión instalada.
Credenciales seguras Nunca incluyas el usuario y la clave en el código fuente accesible públicamente. Usa variables de entorno o archivos de configuración externos.
Sincronización con Cloudflare Con los parametros de integración Cloudflare activa, el bloqueo se realizará sólo en la reglas del dominio seleccionado.