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.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| Username | String | Erforderlich | Systembenutzer. |
| Password | String | Erforderlich | Passwort des 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 = "Systembenutzer"
App.Password = "Passwort des Benutzers"
' 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 = "Systembenutzer";
$app->Password = "Passwort des Benutzers";
// 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 die Verwaltung 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.