Как мне указать диапазоны IP-адресов (регулярное выражение) для SkipHosts в файлах конфигурации AWStats?
Вопрос
Я обновляю некоторые старые конфигурационные файлы AWStats, чтобы отфильтровать некоторые определенные диапазоны IP.Вот соответствующий раздел конфигурационного файла:
# 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=""
Я хочу, например, отфильтровать X.Y.Z.[97-110]
Я попробовал этот формат (Примечание:Не эти значения IP, используя частный диапазон в качестве примера):
REGEX[^192\.168\.1\.[97-110]]
Но это вызывает следующую ошибку:
Ошибка CGI
Указанный CGI приложение неправильно себя вело, не возвращая полный набор HTTP заголовков.
Я ненавижу, когда все использует другой синтаксис регулярных выражений.У кого-нибудь есть какие-нибудь идеи, как это работает, и как я могу указать здесь диапазон?
Решение
Предполагая, что символьные классы поддерживаются в РЕГУЛЯРНОМ ВЫРАЖЕНИИ [ ]:
SkipHosts = "REGEX[^192\.168\.1\.(9[7-9]|10[0-9]|110)$]"
Другие советы
Регулярное выражение, которое вы использовали, указывает от 9 или 7 до 1, или 1, или 0, что приводит к путанице.
Вы можете использовать
SkipHosts="REGEX[^192\.168\.1\.(97|98|99|100|101|102|103|104|105|106|107|108|109|110)]"
если вы так склонны
Запускаются ли AWStats, если вы оставляете SkipHosts пустыми?В противном случае попробуйте проверить наличие ошибок с помощью утилиты командной строки.Например, с помощью Windows:
c:\perlpath\perl.exe awstats.pl config=yourconfigfile -update -logfile=yourlogfile
Это должно дать более подробную информацию.