Comment spécifier des plages IP (RegEx) pour SkipHosts dans les fichiers de configuration AWStats?
Question
Je suis en train de mettre à jour d'anciens fichiers de configuration AWStats pour filtrer certaines plages d'adresses IP spécifiques. Voici la section pertinente du fichier de configuration:
# 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=""
Je souhaite, par exemple, filtrer X.Y.Z. [97-110]
J'ai essayé ce format (Remarque: ce ne sont pas ces valeurs IP, en utilisant une plage privée comme exemple):
REGEX[^192\.168\.1\.[97-110]]
Mais cela provoque l'erreur suivante:
Erreur CGI
CGI spécifié application mal conduite par pas renvoyer un ensemble complet de HTTP en-têtes.
Je déteste comment tout utilise une syntaxe RegEx différente. Quelqu'un at-il une idée du fonctionnement de celui-ci et comment puis-je spécifier une plage ici?
La solution
En supposant que les classes de caractères soient prises en charge dans REGEX []:
SkipHosts = "REGEX[^192\.168\.1\.(9[7-9]|10[0-9]|110)$]"
Autres conseils
La regex que vous avez utilisée spécifie 9 ou 7 à 1 ou 1 ou 0, ce qui gâche.
Vous pouvez utiliser
SkipHosts="REGEX[^192\.168\.1\.(97|98|99|100|101|102|103|104|105|106|107|108|109|110)]"
si vous êtes si enclin
Est-ce que AWStats s'exécute si vous laissez SkipHosts vide? Sinon, essayez l'utilitaire de ligne de commande pour vérifier les erreurs. Par exemple, en utilisant Windows:
c:\perlpath\perl.exe awstats.pl config=yourconfigfile -update -logfile=yourlogfile
Cela devrait donner plus de détails.