Wie gebe ich IP-Bereiche (RegEx) für SkipHosts in AWStats Konfigurationsdateien?
Frage
Ich bin Aktualisierung einige alte AWStats Konfigurationsdateien einige spezifische IP-Bereiche auszufiltern. Hier ist der betreffende Abschnitt der Konfigurationsdatei:
# Do not include access from clients that match following criteria.
# If your log file contains IP addresses in host field, you must enter here
# matching IP addresses criteria.
# If DNS lookup is already done in your log file, you must enter here hostname
# criteria, else enter ip address criteria.
# The opposite parameter of "SkipHosts" is "OnlyHosts".
# Note: Use space between each value. This parameter is not case sensitive.
# Note: You can use regular expression values writing value with REGEX[value].
# Change : Effective for new updates only
# Example: "127.0.0.1 REGEX[^192\.168\.] REGEX[^10\.]"
# Example: "localhost REGEX[^.*\.localdomain$]"
# Default: ""
#
SkipHosts=""
Ich möchte zum Beispiel herauszufiltern X.Y.Z. [97-110]
habe ich versucht, dieses Format (Hinweis: Nicht diese IP-Werte, mit privatem Bereich als Beispiel):
REGEX[^192\.168\.1\.[97-110]]
Aber es verursacht die folgenden Fehler:
CGI-Fehler
Die angegebene CGI Anwendung misbehave wird, indem nicht Rückkehr einen vollständigen Satz von HTTP Header.
Ich hasse, wie alles, was eine andere RegEx-Syntax verwendet. Hat jemand eine Idee, wie diese funktioniert, und wie ich hier einen Bereich angeben kann?
Lösung
, dass die Zeichenklassen Unter der Annahme unterstützt innerhalb REGEX []:
SkipHosts = "REGEX[^192\.168\.1\.(9[7-9]|10[0-9]|110)$]"
Andere Tipps
Die Regex verwendet Sie gibt an 9 oder 7: 1 oder 1 oder 0, die vermasselt.
Sie können mit
SkipHosts="REGEX[^192\.168\.1\.(97|98|99|100|101|102|103|104|105|106|107|108|109|110)]"
Wenn Sie so geneigt
Hat AWStats ausführen, wenn Sie SkipHosts leer lassen? Ansonsten versuchen, das Kommandozeilenprogramm auf Fehler zu überprüfen. Zum Beispiel unter Windows:
c:\perlpath\perl.exe awstats.pl config=yourconfigfile -update -logfile=yourlogfile
Das sollte mehr Details geben.