1

我正在更新一些旧的 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=""

例如,我想过滤掉 XYZ[97-110]

我尝试了这种格式(注意:不是这些 IP 值,以私有范围为例):

REGEX[^192\.168\.1\.[97-110]]

但这会导致以下错误:

CGI 错误
指定的 CGI 应用程序因未返回一组完整的 HTTP 标头而行为异常。

我讨厌一切都使用不同的 RegEx 语法。有谁知道这个是如何工作的,以及我如何在这里指定一个范围?

4

3 回答 3

2

假设 REGEX[ ] 中支持字符类:

SkipHosts = "REGEX[^192\.168\.1\.(9[7-9]|10[0-9]|110)$]"
于 2008-10-01T15:09:49.953 回答
2

您使用的正则表达式将 9 或 7 指定为 1 或 1 或 0,这会搞砸。

您可以使用

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

如果你这么倾向于

于 2008-10-01T15:10:05.117 回答
0

如果您将 SkipHosts 留空,AWStats 会运行吗?否则,请尝试使用命令行实用程序检查错误。例如,使用 Windows:

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

那应该提供更多细节。

于 2008-10-01T15:03:05.617 回答