Как указать диапазоны IP-адресов (RegEx) для SkipHosts в конфигурационных файлах AWStats? - PullRequest
1 голос
/ 01 октября 2008

Я обновляю некоторые старые конфигурационные файлы 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 Заголовки.

Я ненавижу, как все использует другой синтаксис RegEx. Кто-нибудь имеет какие-либо идеи, как это работает, и как я могу указать диапазон здесь?

Ответы [ 3 ]

2 голосов
/ 01 октября 2008

Предполагая, что классы символов поддерживаются в REGEX []:

SkipHosts = "REGEX[^192\.168\.1\.(9[7-9]|10[0-9]|110)$]"
2 голосов
/ 01 октября 2008

Используемое вами регулярное выражение задает 9 или 7 к 1 или 1 или 0, что неправильно.

Вы можете использовать

SkipHosts="REGEX[^192\.168\.1\.(97|98|99|100|101|102|103|104|105|106|107|108|109|110)]"

если вы так склонны

0 голосов
/ 01 октября 2008

Запускается ли AWStats, если вы оставите SkipHosts пустым? В противном случае попробуйте утилиту командной строки, чтобы проверить наличие ошибок. Например, используя Windows:

c:\perlpath\perl.exe awstats.pl config=yourconfigfile -update -logfile=yourlogfile

Это должно дать больше деталей.

...