Nouvelle Extension pour Plesk. Protection Antivirus pour améliorer la sécurité de votre serveur. Pourquoi choisir Flex Antivirus?
Intègre la fonction de blocage d'IP directement dans votre application web si elle appartient à un pays précis. Compatible avec ASP classique et PHP via l'objet COM de l'extension.
BlockIp(IP,Rulename)Depuis votre page web — dans votre index.asp, index.php ou toute section de votre application — vous pouvez appeler cette fonction pour bloquer une adresse IP via le Firewall Manager. Nécessite des identifiants d'un domaine valide dans Plesk.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
| Username | String | Requis | Utilisateur du domaine Plesk avec accès à l'extension. |
| Password | String | Requis | Mot de passe de l'utilisateur du domaine Plesk. |
| FormatOutput | String | Optionnel | Format de réponse : xml (défaut) ou json. |
| IP | String | Requis | Adresse IPv4 ou IPv6 à bloquer. |
| Rulename | String | Optionnel | Nom de la règle à laquelle assigner l'adresse IP. Par défaut, ne pas utiliser. |
Important : Utilisez cette fonction sur des pages protégées par votre propre authentification. Exposer cet appel sans protection permet à n'importe quel utilisateur de bloquer des IP arbitraires.
Instanciez l'objet COM FlexFirewallManager.Admin, définissez les identifiants et appelez UnlockIP(). La réponse est analysée en tant que XML.
' Créer l'instance de l'objet COM
Set App = CreateObject("FlexFirewallManager.Admin")
App.FormatOutput = "xml"
App.Username = "Utilisateur Domaine Plesk"
App.Password = "Mot de passe Domaine Plesk"
' IP à bloquer
Dim strCountry : strIP = Request.ServerVariables("HTTP_X_FIREWALL_COUNTRY")
Dim strIP : strIP = Request.ServerVariables("HTTP_X_FIREWALL_IP")
If strIP = "" Then strIP = Request.ServerVariables("REMOTE_ADDR")
' Méthode 1
If strCountry = "RU" Then
App.BlockIp(strIP)
End If
' Méthode 2
Dim returnstring : returnstring = App.InfoIP(strIP)
' Analyser la réponse XML
Set objxml = CreateObject("Msxml2.DOMDocument")
objxml.LoadXml(returnstring)
If LCase(objxml.SelectSingleNode("/output/result").text) = "true" Then
If UCase(objxml.SelectSingleNode("/output/countrycode").text) = "RU" Then
App.BlockIp(strIP)
End If
End If
Vous pouvez utiliser FormatOutput = "json" si vous préférez analyser la réponse avec JSON.parse plutôt qu'en XML. Le format JSON est recommandé pour les applications modernes.
En PHP, instanciez l'objet COM avec new COM(). Utilisez le format json pour analyser la réponse directement avec json_decode().
// Créer l'instance de l'objet COM
$app = new COM("FlexFirewallManager.Admin");
$app->FormatOutput = "json";
$app->Username = "Utilisateur Domaine Plesk";
$app->Password = "Mot de passe Domaine Plesk";
// IP à bloquer
$strCountry = $_SERVER['HTTP_X_FIREWALL_COUNTRY'];;
$strIP = $_SERVER['HTTP_X_FIREWALL_IP'];;
if ($strIP=="") { $strIP = $_SERVER['REMOTE_ADDR'];; }
// Méthode 1
if ($strCountry == "RU") {
$app->BlockIp($strIP);
}
// Méthode 2
$returnstring = $app->InfoIP($strIP);
// Analyser la réponse JSON
$appjson = json_decode($returnstring);
if ($appjson->result) {
if ($appjson->countrycode == "RU") {
$app->BlockIp($strIP);
}
}
Astuce : Vous pouvez combiner cette fonction avec un formulaire d'administration interne afin que vos utilisateurs gèrent eux-mêmes le blocage de leur propre IP sans avoir à accéder au panneau Plesk.
Tenez compte des aspects suivants lors de l'intégration de cette fonction dans votre application :
BlockIp() par une session utilisateur authentifiée.
FlexFirewallManager.Admin nécessite Windows Server avec l'extension installée.