Neue Erweiterung für Plesk. Antivirenschutz zur Verbesserung der Serversicherheit. Warum Flex Antivirus wählen?
Integriert die IP-Sperrfunktion direkt in Ihre Webanwendung, wenn diese zu einem bestimmten Land gehört. Kompatibel mit klassischem ASP und PHP über das COM-Objekt der Erweiterung.
BlockIp(IP,Rulename)Von Ihrer Webseite aus — in Ihrer index.asp, index.php oder einem beliebigen Teil Ihrer Anwendung — können Sie diese Funktion aufrufen, um eine IP-Adresse über den Firewall Manager zu sperren. Erfordert gültige Zugangsdaten einer Plesk-Domain.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| Username | String | Erforderlich | Plesk-Domain-Benutzer mit Zugriff auf die Erweiterung. |
| Password | String | Erforderlich | Passwort des Plesk-Domain-Benutzers. |
| FormatOutput | String | Optional | Antwortformat: xml (Standard) oder json. |
| IP | String | Erforderlich | Zu sperrende IPv4- oder IPv6-Adresse. |
| Rulename | String | Optional | Name der Regel, der die IP-Adresse zugewiesen werden soll. Standardmäßig nicht verwenden. |
Wichtig: Verwenden Sie diese Funktion nur auf Seiten, die durch eine eigene Authentifizierung geschützt sind. Ein ungeschützter Aufruf ermöglicht es jedem Benutzer, beliebige IPs zu sperren.
Instanziieren Sie das COM-Objekt FlexFirewallManager.Admin, legen Sie die Zugangsdaten fest und rufen Sie UnlockIP() auf. Die Antwort wird als XML analysiert.
' COM-Objektinstanz erstellen
Set App = CreateObject("FlexFirewallManager.Admin")
App.FormatOutput = "xml"
App.Username = "Plesk-Domain-Benutzer"
App.Password = "Passwort Plesk-Domain"
' Zu sperrende IP
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")
' Methode 1
If strCountry = "CN" Then
App.BlockIp(strIP)
End If
' Methode 2
Dim returnstring : returnstring = App.InfoIP(strIP)
' XML-Antwort analysieren
Set objxml = CreateObject("Msxml2.DOMDocument")
objxml.LoadXml(returnstring)
If LCase(objxml.SelectSingleNode("/output/result").text) = "true" Then
If UCase(objxml.SelectSingleNode("/output/countrycode").text) = "CN" Then
App.BlockIp(strIP)
End If
End If
Sie können FormatOutput = "json" verwenden, wenn Sie die Antwort lieber mit JSON.parse statt XML analysieren möchten. Das JSON-Format wird für moderne Anwendungen empfohlen.
Instanziieren Sie in PHP das COM-Objekt mit new COM(). Verwenden Sie das Format json, um die Antwort direkt mit json_decode() zu analysieren.
// COM-Objektinstanz erstellen
$app = new COM("FlexFirewallManager.Admin");
$app->FormatOutput = "json";
$app->Username = "Plesk-Domain-Benutzer";
$app->Password = "Passwort Plesk-Domain";
// Zu sperrende IP
$strCountry = $_SERVER['HTTP_X_FIREWALL_COUNTRY'];;
$strIP = $_SERVER['HTTP_X_FIREWALL_IP'];;
if ($strIP=="") { $strIP = $_SERVER['REMOTE_ADDR'];; }
// Methode 1
if ($strCountry == "CN") {
$app->BlockIp($strIP);
}
// Methode 2
$returnstring = $app->InfoIP($strIP);
// JSON-Antwort analysieren
$appjson = json_decode($returnstring);
if ($appjson->result) {
if ($appjson->countrycode == "CN") {
$app->BlockIp($strIP);
}
}
Tipp: Sie können diese Funktion mit einem internen Verwaltungsformular kombinieren, damit Ihre Benutzer die Sperrung ihrer eigenen IP selbst verwalten können, ohne auf das Plesk-Panel zugreifen zu müssen.
Beachten Sie Folgendes bei der Integration dieser Funktion in Ihre Anwendung:
BlockIp() aufruft, stets durch eine authentifizierte Benutzersitzung.
FlexFirewallManager.Admin erfordert Windows Server mit installierter Erweiterung.