AWStats設定ファイルでSkipHostsのIP範囲(RegEx)を指定するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/158008

  •  03-07-2019
  •  | 
  •  

質問

特定のIP範囲を除外するために、古いAWStats構成ファイルを更新しています。設定ファイルの関連セクションは次のとおりです。

# 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構文を使用する方法が嫌いです。誰かがこれがどのように機能し、ここで範囲を指定する方法を知っていますか?

役に立ちましたか?

解決

文字クラスがREGEX []内でサポートされていると仮定:

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)]"

あなたがそんなに傾いているなら

SkipHostsを空のままにすると、AWStatsは実行されますか?そうでない場合は、コマンドラインユーティリティを使用してエラーを確認してください。たとえば、Windowsを使用する場合:

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

これで詳細がわかるはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top